14057a428:	cc                   	int3
14057a429:	cc                   	int3
14057a42a:	cc                   	int3
14057a42b:	cc                   	int3
14057a42c:	cc                   	int3
14057a42d:	cc                   	int3
14057a42e:	cc                   	int3
14057a42f:	cc                   	int3
14057a430:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14057a435:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
14057a43a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14057a43f:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14057a444:	53                   	push   %rbx
14057a445:	55                   	push   %rbp
14057a446:	56                   	push   %rsi
14057a447:	57                   	push   %rdi
14057a448:	41 54                	push   %r12
14057a44a:	41 55                	push   %r13
14057a44c:	41 56                	push   %r14
14057a44e:	41 57                	push   %r15
14057a450:	48 83 ec 68          	sub    $0x68,%rsp
14057a454:	48 83 79 40 00       	cmpq   $0x0,0x40(%rcx)
14057a459:	4c 8b d2             	mov    %rdx,%r10
14057a45c:	48 8b d9             	mov    %rcx,%rbx
14057a45f:	0f 84 b6 01 00 00    	je     0x14057a61b
14057a465:	0f b7 41 02          	movzwl 0x2(%rcx),%eax
14057a469:	48 be 15 7c 4a 7f b9 	movabs $0x9e3779b97f4a7c15,%rsi
14057a470:	79 37 9e
14057a473:	41 8b f9             	mov    %r9d,%edi
14057a476:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
14057a47b:	66 85 c0             	test   %ax,%ax
14057a47e:	75 04                	jne    0x14057a484
14057a480:	33 d2                	xor    %edx,%edx
14057a482:	eb 1a                	jmp    0x14057a49e
14057a484:	48 8b d7             	mov    %rdi,%rdx
14057a487:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
14057a48c:	48 0f af d6          	imul   %rsi,%rdx
14057a490:	b9 40 00 00 00       	mov    $0x40,%ecx
14057a495:	48 2b c8             	sub    %rax,%rcx
14057a498:	48 d3 e2             	shl    %cl,%rdx
14057a49b:	48 d3 ea             	shr    %cl,%rdx
14057a49e:	8b 4b 04             	mov    0x4(%rbx),%ecx
14057a4a1:	48 8b 84 24 d8 00 00 	mov    0xd8(%rsp),%rax
14057a4a8:	00
14057a4a9:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14057a4ae:	48 8b 84 24 d0 00 00 	mov    0xd0(%rsp),%rax
14057a4b5:	00
14057a4b6:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14057a4bb:	89 4c 24 28          	mov    %ecx,0x28(%rsp)
14057a4bf:	48 8b cb             	mov    %rbx,%rcx
14057a4c2:	89 54 24 20          	mov    %edx,0x20(%rsp)
14057a4c6:	49 8b d2             	mov    %r10,%rdx
14057a4c9:	e8 42 fe ff ff       	call   0x14057a310
14057a4ce:	85 c0                	test   %eax,%eax
14057a4d0:	0f 89 4a 01 00 00    	jns    0x14057a620
14057a4d6:	0f b7 03             	movzwl (%rbx),%eax
14057a4d9:	41 bf 01 00 00 00    	mov    $0x1,%r15d
14057a4df:	66 89 44 24 40       	mov    %ax,0x40(%rsp)
14057a4e4:	66 44 3b f8          	cmp    %ax,%r15w
14057a4e8:	0f 87 2d 01 00 00    	ja     0x14057a61b
14057a4ee:	0f b7 43 02          	movzwl 0x2(%rbx),%eax
14057a4f2:	41 bd 41 00 00 00    	mov    $0x41,%r13d
14057a4f8:	8b 53 10             	mov    0x10(%rbx),%edx
14057a4fb:	44 2b e8             	sub    %eax,%r13d
14057a4fe:	89 54 24 48          	mov    %edx,0x48(%rsp)
14057a502:	44 8d 60 ff          	lea    -0x1(%rax),%r12d
14057a506:	41 b8 ff ff 00 00    	mov    $0xffff,%r8d
14057a50c:	45 85 e4             	test   %r12d,%r12d
14057a50f:	75 04                	jne    0x14057a515
14057a511:	33 ff                	xor    %edi,%edi
14057a513:	eb 0d                	jmp    0x14057a522
14057a515:	48 0f af fe          	imul   %rsi,%rdi
14057a519:	49 63 cd             	movslq %r13d,%rcx
14057a51c:	48 d3 e7             	shl    %cl,%rdi
14057a51f:	48 d3 ef             	shr    %cl,%rdi
14057a522:	3b fa                	cmp    %edx,%edi
14057a524:	0f 8f 9d 00 00 00    	jg     0x14057a5c7
14057a52a:	8d 42 01             	lea    0x1(%rdx),%eax
14057a52d:	8b f7                	mov    %edi,%esi
14057a52f:	3b f8                	cmp    %eax,%edi
14057a531:	0f 8d 7e 00 00 00    	jge    0x14057a5b5
14057a537:	48 8b 5b 40          	mov    0x40(%rbx),%rbx
14057a53b:	4c 63 f0             	movslq %eax,%r14
14057a53e:	48 83 c3 18          	add    $0x18,%rbx
14057a542:	48 63 ef             	movslq %edi,%rbp
14057a545:	48 8b c5             	mov    %rbp,%rax
14057a548:	48 c1 e0 05          	shl    $0x5,%rax
14057a54c:	48 03 d8             	add    %rax,%rbx
14057a54f:	90                   	nop
14057a550:	0f b7 43 e8          	movzwl -0x18(%rbx),%eax
14057a554:	66 41 3b c0          	cmp    %r8w,%ax
14057a558:	74 5b                	je     0x14057a5b5
14057a55a:	8b ce                	mov    %esi,%ecx
14057a55c:	2b c8                	sub    %eax,%ecx
14057a55e:	3b cf                	cmp    %edi,%ecx
14057a560:	7f 53                	jg     0x14057a5b5
14057a562:	75 43                	jne    0x14057a5a7
14057a564:	8b 43 f0             	mov    -0x10(%rbx),%eax
14057a567:	48 33 84 24 c8 00 00 	xor    0xc8(%rsp),%rax
14057a56e:	00
14057a56f:	8b c0                	mov    %eax,%eax
14057a571:	48 85 c0             	test   %rax,%rax
14057a574:	75 31                	jne    0x14057a5a7
14057a576:	8b 43 ec             	mov    -0x14(%rbx),%eax
14057a579:	3b 84 24 c0 00 00 00 	cmp    0xc0(%rsp),%eax
14057a580:	75 25                	jne    0x14057a5a7
14057a582:	48 8b cb             	mov    %rbx,%rcx
14057a585:	83 f8 08             	cmp    $0x8,%eax
14057a588:	76 03                	jbe    0x14057a58d
14057a58a:	48 8b 0b             	mov    (%rbx),%rcx
14057a58d:	48 8b 94 24 b8 00 00 	mov    0xb8(%rsp),%rdx
14057a594:	00
14057a595:	4c 8b c0             	mov    %rax,%r8
14057a598:	e8 b3 54 96 00       	call   0x140edfa50
14057a59d:	85 c0                	test   %eax,%eax
14057a59f:	74 4f                	je     0x14057a5f0
14057a5a1:	41 b8 ff ff 00 00    	mov    $0xffff,%r8d
14057a5a7:	ff c6                	inc    %esi
14057a5a9:	48 ff c5             	inc    %rbp
14057a5ac:	48 83 c3 20          	add    $0x20,%rbx
14057a5b0:	49 3b ee             	cmp    %r14,%rbp
14057a5b3:	7c 9b                	jl     0x14057a550
14057a5b5:	c7 44 24 44 ff ff ff 	movl   $0xffffffff,0x44(%rsp)
14057a5bc:	ff
14057a5bd:	48 be 15 7c 4a 7f b9 	movabs $0x9e3779b97f4a7c15,%rsi
14057a5c4:	79 37 9e
14057a5c7:	0f b7 44 24 40       	movzwl 0x40(%rsp),%eax
14057a5cc:	41 ff c7             	inc    %r15d
14057a5cf:	41 ff cc             	dec    %r12d
14057a5d2:	41 ff c5             	inc    %r13d
14057a5d5:	44 3b f8             	cmp    %eax,%r15d
14057a5d8:	7f 41                	jg     0x14057a61b
14057a5da:	48 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%rbx
14057a5e1:	00
14057a5e2:	8b 54 24 48          	mov    0x48(%rsp),%edx
14057a5e6:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
14057a5eb:	e9 16 ff ff ff       	jmp    0x14057a506
14057a5f0:	89 74 24 44          	mov    %esi,0x44(%rsp)
14057a5f4:	85 f6                	test   %esi,%esi
14057a5f6:	78 c5                	js     0x14057a5bd
14057a5f8:	48 8b 8c 24 b0 00 00 	mov    0xb0(%rsp),%rcx
14057a5ff:	00
14057a600:	66 83 79 0c 00       	cmpw   $0x0,0xc(%rcx)
14057a605:	75 10                	jne    0x14057a617
14057a607:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
14057a60c:	8b d6                	mov    %esi,%edx
14057a60e:	e8 fd 05 00 00       	call   0x14057ac10
14057a613:	8b 74 24 44          	mov    0x44(%rsp),%esi
14057a617:	8b c6                	mov    %esi,%eax
14057a619:	eb 05                	jmp    0x14057a620
14057a61b:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14057a620:	48 83 c4 68          	add    $0x68,%rsp
14057a624:	41 5f                	pop    %r15
14057a626:	41 5e                	pop    %r14
14057a628:	41 5d                	pop    %r13
14057a62a:	41 5c                	pop    %r12
14057a62c:	5f                   	pop    %rdi
14057a62d:	5e                   	pop    %rsi
14057a62e:	5d                   	pop    %rbp
14057a62f:	5b                   	pop    %rbx
14057a630:	c3                   	ret
14057a631:	cc                   	int3
14057a632:	cc                   	int3
14057a633:	cc                   	int3
14057a634:	cc                   	int3
14057a635:	cc                   	int3
14057a636:	cc                   	int3
14057a637:	cc                   	int3
14057a638:	cc                   	int3
14057a639:	cc                   	int3
14057a63a:	cc                   	int3
14057a63b:	cc                   	int3
14057a63c:	cc                   	int3
14057a63d:	cc                   	int3
14057a63e:	cc                   	int3
14057a63f:	cc                   	int3
14057a640:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14057a645:	57                   	push   %rdi
14057a646:	48 83 ec 20          	sub    $0x20,%rsp
14057a64a:	48 8b d9             	mov    %rcx,%rbx
14057a64d:	48 8b fa             	mov    %rdx,%rdi
14057a650:	48 8d 4a 10          	lea    0x10(%rdx),%rcx
14057a654:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14057a658:	e8 43 fc ff ff       	call   0x14057a2a0
14057a65d:	48 85 c0             	test   %rax,%rax
14057a660:	74 27                	je     0x14057a689
14057a662:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14057a666:	48 85 c9             	test   %rcx,%rcx
14057a669:	74 40                	je     0x14057a6ab
14057a66b:	48 8b 01             	mov    (%rcx),%rax
14057a66e:	ba 01 00 00 00       	mov    $0x1,%edx
14057a673:	48 8b 00             	mov    (%rax),%rax
14057a676:	ff 15 a4 93 a0 00    	call   *0xa093a4(%rip)        # 0x140f83a20
14057a67c:	b0 01                	mov    $0x1,%al
14057a67e:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14057a683:	48 83 c4 20          	add    $0x20,%rsp
14057a687:	5f                   	pop    %rdi
14057a688:	c3                   	ret
14057a689:	48 8b 43 10          	mov    0x10(%rbx),%rax
14057a68d:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
14057a692:	48 c7 43 10 00 00 00 	movq   $0x0,0x10(%rbx)
14057a699:	00
14057a69a:	48 8b cf             	mov    %rdi,%rcx
14057a69d:	48 8b 53 08          	mov    0x8(%rbx),%rdx
14057a6a1:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14057a6a6:	e8 35 f6 ff ff       	call   0x140579ce0
14057a6ab:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14057a6b0:	b0 01                	mov    $0x1,%al
14057a6b2:	48 83 c4 20          	add    $0x20,%rsp
14057a6b6:	5f                   	pop    %rdi
14057a6b7:	c3                   	ret
14057a6b8:	cc                   	int3
14057a6b9:	cc                   	int3
14057a6ba:	cc                   	int3
14057a6bb:	cc                   	int3
14057a6bc:	cc                   	int3
14057a6bd:	cc                   	int3
14057a6be:	cc                   	int3
14057a6bf:	cc                   	int3
14057a6c0:	48 83 ec 28          	sub    $0x28,%rsp
14057a6c4:	48 8b 41 20          	mov    0x20(%rcx),%rax
14057a6c8:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
14057a6cd:	4c 8b ca             	mov    %rdx,%r9
14057a6d0:	48 c7 41 20 00 00 00 	movq   $0x0,0x20(%rcx)
14057a6d7:	00
14057a6d8:	48 8d 51 08          	lea    0x8(%rcx),%rdx
14057a6dc:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14057a6e1:	49 8b c9             	mov    %r9,%rcx
14057a6e4:	e8 87 08 00 00       	call   0x14057af70
14057a6e9:	48 83 c4 28          	add    $0x28,%rsp
14057a6ed:	c3                   	ret
14057a6ee:	cc                   	int3
14057a6ef:	cc                   	int3
14057a6f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14057a6f5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14057a6fa:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14057a6ff:	57                   	push   %rdi
14057a700:	48 83 ec 30          	sub    $0x30,%rsp
14057a704:	49 8b d8             	mov    %r8,%rbx
14057a707:	48 8b f2             	mov    %rdx,%rsi
14057a70a:	48 8b f9             	mov    %rcx,%rdi
14057a70d:	4d 8b 00             	mov    (%r8),%r8
14057a710:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14057a715:	4d 85 c0             	test   %r8,%r8
14057a718:	74 1e                	je     0x14057a738
14057a71a:	41 8b 40 10          	mov    0x10(%r8),%eax
14057a71e:	ff c0                	inc    %eax
14057a720:	41 89 40 10          	mov    %eax,0x10(%r8)
14057a724:	83 f8 01             	cmp    $0x1,%eax
14057a727:	0f 8e 51 01 00 00    	jle    0x14057a87e
14057a72d:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14057a732:	0f 84 4e 01 00 00    	je     0x14057a886
14057a738:	4c 8d 4c 24 20       	lea    0x20(%rsp),%r9
14057a73d:	4c 8b c6             	mov    %rsi,%r8
14057a740:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
14057a745:	e8 76 f0 ff ff       	call   0x1405797c0
14057a74a:	90                   	nop
14057a74b:	48 8b 03             	mov    (%rbx),%rax
14057a74e:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
14057a755:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14057a75a:	4c 8d 44 24 28       	lea    0x28(%rsp),%r8
14057a75f:	48 8b d6             	mov    %rsi,%rdx
14057a762:	48 8b cf             	mov    %rdi,%rcx
14057a765:	e8 a6 f8 ff ff       	call   0x14057a010
14057a76a:	48 8b f0             	mov    %rax,%rsi
14057a76d:	48 85 c0             	test   %rax,%rax
14057a770:	75 5e                	jne    0x14057a7d0
14057a772:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
14057a777:	48 85 ff             	test   %rdi,%rdi
14057a77a:	74 16                	je     0x14057a792
14057a77c:	48 8b cf             	mov    %rdi,%rcx
14057a77f:	e8 0c 74 22 00       	call   0x1407a1b90
14057a784:	ba 38 00 00 00       	mov    $0x38,%edx
14057a789:	48 8b cf             	mov    %rdi,%rcx
14057a78c:	e8 b3 09 8a 00       	call   0x140e1b144
14057a791:	90                   	nop
14057a792:	48 8b 0b             	mov    (%rbx),%rcx
14057a795:	48 85 c9             	test   %rcx,%rcx
14057a798:	74 24                	je     0x14057a7be
14057a79a:	8b 41 10             	mov    0x10(%rcx),%eax
14057a79d:	ff c8                	dec    %eax
14057a79f:	89 41 10             	mov    %eax,0x10(%rcx)
14057a7a2:	85 c0                	test   %eax,%eax
14057a7a4:	7f 18                	jg     0x14057a7be
14057a7a6:	0f 88 e5 00 00 00    	js     0x14057a891
14057a7ac:	48 8b 01             	mov    (%rcx),%rax
14057a7af:	ba 01 00 00 00       	mov    $0x1,%edx
14057a7b4:	48 8b 00             	mov    (%rax),%rax
14057a7b7:	ff 15 63 92 a0 00    	call   *0xa09263(%rip)        # 0x140f83a20
14057a7bd:	90                   	nop
14057a7be:	33 c0                	xor    %eax,%eax
14057a7c0:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14057a7c5:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14057a7ca:	48 83 c4 30          	add    $0x30,%rsp
14057a7ce:	5f                   	pop    %rdi
14057a7cf:	c3                   	ret
14057a7d0:	b9 18 00 00 00       	mov    $0x18,%ecx
14057a7d5:	e8 2e 09 8a 00       	call   0x140e1b108
14057a7da:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14057a7df:	48 85 c0             	test   %rax,%rax
14057a7e2:	74 20                	je     0x14057a804
14057a7e4:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
14057a7e9:	48 c7 44 24 58 00 00 	movq   $0x0,0x58(%rsp)
14057a7f0:	00 00
14057a7f2:	48 8d 15 bf 5a a9 00 	lea    0xa95abf(%rip),%rdx        # 0x1410102b8
14057a7f9:	48 89 10             	mov    %rdx,(%rax)
14057a7fc:	48 89 70 08          	mov    %rsi,0x8(%rax)
14057a800:	48 89 48 10          	mov    %rcx,0x10(%rax)
14057a804:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14057a809:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
14057a80e:	48 8d 4f 68          	lea    0x68(%rdi),%rcx
14057a812:	e8 39 0a 00 00       	call   0x14057b250
14057a817:	90                   	nop
14057a818:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
14057a81d:	48 85 ff             	test   %rdi,%rdi
14057a820:	74 16                	je     0x14057a838
14057a822:	48 8b cf             	mov    %rdi,%rcx
14057a825:	e8 66 73 22 00       	call   0x1407a1b90
14057a82a:	ba 38 00 00 00       	mov    $0x38,%edx
14057a82f:	48 8b cf             	mov    %rdi,%rcx
14057a832:	e8 0d 09 8a 00       	call   0x140e1b144
14057a837:	90                   	nop
14057a838:	48 8b 0b             	mov    (%rbx),%rcx
14057a83b:	48 85 c9             	test   %rcx,%rcx
14057a83e:	74 20                	je     0x14057a860
14057a840:	8b 41 10             	mov    0x10(%rcx),%eax
14057a843:	ff c8                	dec    %eax
14057a845:	89 41 10             	mov    %eax,0x10(%rcx)
14057a848:	85 c0                	test   %eax,%eax
14057a84a:	7f 14                	jg     0x14057a860
14057a84c:	78 25                	js     0x14057a873
14057a84e:	48 8b 01             	mov    (%rcx),%rax
14057a851:	ba 01 00 00 00       	mov    $0x1,%edx
14057a856:	48 8b 00             	mov    (%rax),%rax
14057a859:	ff 15 c1 91 a0 00    	call   *0xa091c1(%rip)        # 0x140f83a20
14057a85f:	90                   	nop
14057a860:	48 8b c6             	mov    %rsi,%rax
14057a863:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14057a868:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14057a86d:	48 83 c4 30          	add    $0x30,%rsp
14057a871:	5f                   	pop    %rdi
14057a872:	c3                   	ret
14057a873:	b9 02 00 00 00       	mov    $0x2,%ecx
14057a878:	e8 83 fe 20 00       	call   0x14078a700
14057a87d:	90                   	nop
14057a87e:	33 c9                	xor    %ecx,%ecx
14057a880:	e8 7b fe 20 00       	call   0x14078a700
14057a885:	cc                   	int3
14057a886:	b9 01 00 00 00       	mov    $0x1,%ecx
14057a88b:	e8 70 fe 20 00       	call   0x14078a700