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
14040a4cd:	49 2b c8             	sub    %r8,%rcx
14040a4d0:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14040a4d4:	48 83 f8 1f          	cmp    $0x1f,%rax
14040a4d8:	77 4c                	ja     0x14040a526
14040a4da:	49 8b c8             	mov    %r8,%rcx
14040a4dd:	e8 62 0c a1 00       	call   0x140e1b144
14040a4e2:	4c 89 33             	mov    %r14,(%rbx)
14040a4e5:	4c 89 73 08          	mov    %r14,0x8(%rbx)
14040a4e9:	4c 89 73 10          	mov    %r14,0x10(%rbx)
14040a4ed:	ba 18 00 00 00       	mov    $0x18,%edx
14040a4f2:	48 8b cb             	mov    %rbx,%rcx
14040a4f5:	e8 4a 0c a1 00       	call   0x140e1b144
14040a4fa:	40 f6 c5 01          	test   $0x1,%bpl
14040a4fe:	74 0d                	je     0x14040a50d
14040a500:	ba 28 00 00 00       	mov    $0x28,%edx
14040a505:	48 8b cf             	mov    %rdi,%rcx
14040a508:	e8 37 0c a1 00       	call   0x140e1b144
14040a50d:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14040a512:	48 8b c7             	mov    %rdi,%rax
14040a515:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
14040a51a:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
14040a51f:	48 83 c4 20          	add    $0x20,%rsp
14040a523:	41 5e                	pop    %r14
14040a525:	c3                   	ret
14040a526:	e8 79 fc a1 00       	call   0x140e2a1a4
14040a52b:	cc                   	int3
14040a52c:	cc                   	int3
14040a52d:	cc                   	int3
14040a52e:	cc                   	int3
14040a52f:	cc                   	int3
14040a530:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14040a535:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14040a53a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14040a53f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14040a544:	41 56                	push   %r14
14040a546:	48 83 ec 20          	sub    $0x20,%rsp
14040a54a:	48 8b d9             	mov    %rcx,%rbx
14040a54d:	44 8b f2             	mov    %edx,%r14d
14040a550:	8b 09                	mov    (%rcx),%ecx
14040a552:	85 c9                	test   %ecx,%ecx
14040a554:	0f 84 83 00 00 00    	je     0x14040a5dd
14040a55a:	83 f9 01             	cmp    $0x1,%ecx
14040a55d:	0f 85 93 00 00 00    	jne    0x14040a5f6
14040a563:	48 8b 6b 08          	mov    0x8(%rbx),%rbp
14040a567:	33 ff                	xor    %edi,%edi
14040a569:	48 85 ed             	test   %rbp,%rbp
14040a56c:	74 69                	je     0x14040a5d7
14040a56e:	48 8b 75 08          	mov    0x8(%rbp),%rsi
14040a572:	48 85 f6             	test   %rsi,%rsi
14040a575:	74 53                	je     0x14040a5ca
14040a577:	48 8b 0e             	mov    (%rsi),%rcx
14040a57a:	48 85 c9             	test   %rcx,%rcx
14040a57d:	74 3e                	je     0x14040a5bd
14040a57f:	48 8b 56 10          	mov    0x10(%rsi),%rdx
14040a583:	48 2b d1             	sub    %rcx,%rdx
14040a586:	48 d1 fa             	sar    $1,%rdx
14040a589:	48 03 d2             	add    %rdx,%rdx
14040a58c:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14040a593:	72 18                	jb     0x14040a5ad
14040a595:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14040a599:	48 83 c2 27          	add    $0x27,%rdx
14040a59d:	49 2b c8             	sub    %r8,%rcx
14040a5a0:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14040a5a4:	48 83 f8 1f          	cmp    $0x1f,%rax
14040a5a8:	77 7d                	ja     0x14040a627
14040a5aa:	49 8b c8             	mov    %r8,%rcx
14040a5ad:	e8 92 0b a1 00       	call   0x140e1b144
14040a5b2:	48 89 3e             	mov    %rdi,(%rsi)
14040a5b5:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
14040a5b9:	48 89 7e 10          	mov    %rdi,0x10(%rsi)
14040a5bd:	ba 18 00 00 00       	mov    $0x18,%edx
14040a5c2:	48 8b ce             	mov    %rsi,%rcx
14040a5c5:	e8 7a 0b a1 00       	call   0x140e1b144
14040a5ca:	ba 28 00 00 00       	mov    $0x28,%edx
14040a5cf:	48 8b cd             	mov    %rbp,%rcx
14040a5d2:	e8 6d 0b a1 00       	call   0x140e1b144
14040a5d7:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
14040a5db:	eb 19                	jmp    0x14040a5f6
14040a5dd:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14040a5e1:	48 85 c9             	test   %rcx,%rcx
14040a5e4:	74 0a                	je     0x14040a5f0
14040a5e6:	ba 18 00 00 00       	mov    $0x18,%edx
14040a5eb:	e8 54 0b a1 00       	call   0x140e1b144
14040a5f0:	33 ff                	xor    %edi,%edi
14040a5f2:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
14040a5f6:	41 f6 c6 01          	test   $0x1,%r14b
14040a5fa:	74 0d                	je     0x14040a609
14040a5fc:	ba 28 00 00 00       	mov    $0x28,%edx
14040a601:	48 8b cb             	mov    %rbx,%rcx
14040a604:	e8 3b 0b a1 00       	call   0x140e1b144
14040a609:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14040a60e:	48 8b c3             	mov    %rbx,%rax
14040a611:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14040a616:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14040a61b:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
14040a620:	48 83 c4 20          	add    $0x20,%rsp
14040a624:	41 5e                	pop    %r14
14040a626:	c3                   	ret
14040a627:	e8 78 fb a1 00       	call   0x140e2a1a4
14040a62c:	cc                   	int3
14040a62d:	cc                   	int3
14040a62e:	cc                   	int3
14040a62f:	cc                   	int3
14040a630:	40 53                	rex push %rbx
14040a632:	48 83 ec 20          	sub    $0x20,%rsp
14040a636:	84 d2                	test   %dl,%dl
14040a638:	74 06                	je     0x14040a640
14040a63a:	48 8b 59 38          	mov    0x38(%rcx),%rbx
14040a63e:	eb 04                	jmp    0x14040a644
14040a640:	48 8b 59 40          	mov    0x40(%rcx),%rbx
14040a644:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
14040a648:	e8 63 45 5b 00       	call   0x1409bebb0
14040a64d:	45 33 c0             	xor    %r8d,%r8d
14040a650:	33 d2                	xor    %edx,%edx
14040a652:	48 8b cb             	mov    %rbx,%rcx
14040a655:	48 83 c4 20          	add    $0x20,%rsp
14040a659:	5b                   	pop    %rbx
14040a65a:	e9 31 00 00 00       	jmp    0x14040a690
14040a65f:	cc                   	int3
14040a660:	49 8b c0             	mov    %r8,%rax
14040a663:	84 d2                	test   %dl,%dl
14040a665:	74 0f                	je     0x14040a676
14040a667:	48 8b 49 38          	mov    0x38(%rcx),%rcx
14040a66b:	4d 8b c1             	mov    %r9,%r8
14040a66e:	48 8b d0             	mov    %rax,%rdx
14040a671:	e9 1a 00 00 00       	jmp    0x14040a690
14040a676:	48 8b 49 40          	mov    0x40(%rcx),%rcx
14040a67a:	4d 8b c1             	mov    %r9,%r8
14040a67d:	48 8b d0             	mov    %rax,%rdx
14040a680:	e9 0b 00 00 00       	jmp    0x14040a690
14040a685:	cc                   	int3
14040a686:	cc                   	int3
14040a687:	cc                   	int3
14040a688:	cc                   	int3
14040a689:	cc                   	int3
14040a68a:	cc                   	int3
14040a68b:	cc                   	int3
14040a68c:	cc                   	int3
14040a68d:	cc                   	int3
14040a68e:	cc                   	int3
14040a68f:	cc                   	int3
14040a690:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14040a695:	56                   	push   %rsi
14040a696:	57                   	push   %rdi
14040a697:	41 54                	push   %r12
14040a699:	41 56                	push   %r14
14040a69b:	41 57                	push   %r15
14040a69d:	48 83 ec 60          	sub    $0x60,%rsp
14040a6a1:	48 8b 05 58 e8 fa 00 	mov    0xfae858(%rip),%rax        # 0x1413b8f00
14040a6a8:	48 33 c4             	xor    %rsp,%rax
14040a6ab:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
14040a6b0:	48 8b f9             	mov    %rcx,%rdi
14040a6b3:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
14040a6b8:	48 8b 49 18          	mov    0x18(%rcx),%rcx
14040a6bc:	e8 5f 41 5b 00       	call   0x1409be820
14040a6c1:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
14040a6c5:	83 79 08 00          	cmpl   $0x0,0x8(%rcx)
14040a6c9:	7f 0e                	jg     0x14040a6d9
14040a6cb:	48 8b 41 28          	mov    0x28(%rcx),%rax
14040a6cf:	48 39 41 30          	cmp    %rax,0x30(%rcx)
14040a6d3:	0f 86 1c 01 00 00    	jbe    0x14040a7f5
14040a6d9:	80 79 51 00          	cmpb   $0x0,0x51(%rcx)
14040a6dd:	74 10                	je     0x14040a6ef
14040a6df:	80 79 18 00          	cmpb   $0x0,0x18(%rcx)
14040a6e3:	75 0a                	jne    0x14040a6ef
14040a6e5:	83 79 44 00          	cmpl   $0x0,0x44(%rcx)
14040a6e9:	0f 85 06 01 00 00    	jne    0x14040a7f5
14040a6ef:	48 83 7f 08 00       	cmpq   $0x0,0x8(%rdi)
14040a6f4:	75 67                	jne    0x14040a75d
14040a6f6:	b9 28 00 00 00       	mov    $0x28,%ecx
14040a6fb:	e8 08 0a a1 00       	call   0x140e1b108
14040a700:	33 f6                	xor    %esi,%esi
14040a702:	48 85 c0             	test   %rax,%rax
14040a705:	74 1e                	je     0x14040a725
14040a707:	0f b6 4f 28          	movzbl 0x28(%rdi),%ecx