1400057b7:	48 8b c3             	mov    %rbx,%rax
1400057ba:	48 83 c4 20          	add    $0x20,%rsp
1400057be:	5b                   	pop    %rbx
1400057bf:	c3                   	ret
1400057c0:	40 53                	rex push %rbx
1400057c2:	48 83 ec 20          	sub    $0x20,%rsp
1400057c6:	48 8b d9             	mov    %rcx,%rbx
1400057c9:	48 8b 49 68          	mov    0x68(%rcx),%rcx
1400057cd:	48 85 c9             	test   %rcx,%rcx
1400057d0:	74 12                	je     0x1400057e4
1400057d2:	48 83 ca ff          	or     $0xffffffffffffffff,%rdx
1400057d6:	ff 15 74 6a 03 00    	call   *0x36a74(%rip)        # 0x14003c250
1400057dc:	48 c7 43 68 00 00 00 	movq   $0x0,0x68(%rbx)
1400057e3:	00
1400057e4:	48 8b 4b 70          	mov    0x70(%rbx),%rcx
1400057e8:	48 85 c9             	test   %rcx,%rcx
1400057eb:	74 12                	je     0x1400057ff
1400057ed:	48 83 ca ff          	or     $0xffffffffffffffff,%rdx
1400057f1:	ff 15 59 6a 03 00    	call   *0x36a59(%rip)        # 0x14003c250
1400057f7:	48 c7 43 70 00 00 00 	movq   $0x0,0x70(%rbx)
1400057fe:	00
1400057ff:	48 8b 4b 50          	mov    0x50(%rbx),%rcx
140005803:	48 85 c9             	test   %rcx,%rcx
140005806:	74 06                	je     0x14000580e
140005808:	ff 15 32 68 03 00    	call   *0x36832(%rip)        # 0x14003c040
14000580e:	48 8b 4b 58          	mov    0x58(%rbx),%rcx
140005812:	48 85 c9             	test   %rcx,%rcx
140005815:	74 06                	je     0x14000581d
140005817:	ff 15 23 68 03 00    	call   *0x36823(%rip)        # 0x14003c040
14000581d:	48 8b 4b 60          	mov    0x60(%rbx),%rcx
140005821:	48 85 c9             	test   %rcx,%rcx
140005824:	74 06                	je     0x14000582c
140005826:	ff 15 14 68 03 00    	call   *0x36814(%rip)        # 0x14003c040
14000582c:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140005830:	48 83 c4 20          	add    $0x20,%rsp
140005834:	5b                   	pop    %rbx
140005835:	e9 76 ba ff ff       	jmp    0x1400012b0
14000583a:	cc                   	int3
14000583b:	cc                   	int3
14000583c:	cc                   	int3
14000583d:	cc                   	int3
14000583e:	cc                   	int3
14000583f:	cc                   	int3
140005840:	40 53                	rex push %rbx
140005842:	48 83 ec 30          	sub    $0x30,%rsp
140005846:	4c 8b c2             	mov    %rdx,%r8
140005849:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
14000584e:	48 8b 51 18          	mov    0x18(%rcx),%rdx
140005852:	33 db                	xor    %ebx,%ebx
140005854:	48 8b 49 50          	mov    0x50(%rcx),%rcx
140005858:	41 b9 00 00 02 00    	mov    $0x20000,%r9d
14000585e:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140005863:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140005868:	ff 15 fa 69 03 00    	call   *0x369fa(%rip)        # 0x14003c268
14000586e:	85 c0                	test   %eax,%eax
140005870:	75 06                	jne    0x140005878
140005872:	48 83 c4 30          	add    $0x30,%rsp
140005876:	5b                   	pop    %rbx
140005877:	c3                   	ret
140005878:	48 81 7c 24 40 00 00 	cmpq   $0x20000,0x40(%rsp)
14000587f:	02 00
140005881:	0f 94 c0             	sete   %al
140005884:	48 83 c4 30          	add    $0x30,%rsp
140005888:	5b                   	pop    %rbx
140005889:	c3                   	ret
14000588a:	cc                   	int3
14000588b:	cc                   	int3
14000588c:	cc                   	int3
14000588d:	cc                   	int3
14000588e:	cc                   	int3
14000588f:	cc                   	int3
140005890:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140005895:	57                   	push   %rdi
140005896:	48 83 ec 30          	sub    $0x30,%rsp
14000589a:	49 8b f8             	mov    %r8,%rdi
14000589d:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
1400058a2:	4d 8b c8             	mov    %r8,%r9
1400058a5:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400058aa:	4c 8b c2             	mov    %rdx,%r8
1400058ad:	33 db                	xor    %ebx,%ebx
1400058af:	48 8b 51 20          	mov    0x20(%rcx),%rdx
1400058b3:	48 8b 49 50          	mov    0x50(%rcx),%rcx
1400058b7:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
1400058bc:	ff 15 a6 69 03 00    	call   *0x369a6(%rip)        # 0x14003c268
1400058c2:	85 c0                	test   %eax,%eax
1400058c4:	75 0b                	jne    0x1400058d1
1400058c6:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1400058cb:	48 83 c4 30          	add    $0x30,%rsp
1400058cf:	5f                   	pop    %rdi
1400058d0:	c3                   	ret
1400058d1:	48 39 7c 24 40       	cmp    %rdi,0x40(%rsp)
1400058d6:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1400058db:	0f 94 c0             	sete   %al
1400058de:	48 83 c4 30          	add    $0x30,%rsp
1400058e2:	5f                   	pop    %rdi
1400058e3:	c3                   	ret
1400058e4:	cc                   	int3
1400058e5:	cc                   	int3
1400058e6:	cc                   	int3
1400058e7:	cc                   	int3
1400058e8:	cc                   	int3
1400058e9:	cc                   	int3
1400058ea:	cc                   	int3
1400058eb:	cc                   	int3
1400058ec:	cc                   	int3
1400058ed:	cc                   	int3
1400058ee:	cc                   	int3
1400058ef:	cc                   	int3
1400058f0:	40 53                	rex push %rbx
1400058f2:	48 83 ec 30          	sub    $0x30,%rsp
1400058f6:	33 db                	xor    %ebx,%ebx
1400058f8:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
1400058fd:	4c 8b c2             	mov    %rdx,%r8
140005900:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140005905:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140005909:	48 8b 49 50          	mov    0x50(%rcx),%rcx
14000590d:	44 8d 4b 08          	lea    0x8(%rbx),%r9d
140005911:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140005916:	ff 15 4c 69 03 00    	call   *0x3694c(%rip)        # 0x14003c268
14000591c:	85 c0                	test   %eax,%eax
14000591e:	75 06                	jne    0x140005926
140005920:	48 83 c4 30          	add    $0x30,%rsp
140005924:	5b                   	pop    %rbx
140005925:	c3                   	ret
140005926:	48 83 7c 24 40 08    	cmpq   $0x8,0x40(%rsp)
14000592c:	0f 94 c0             	sete   %al
14000592f:	48 83 c4 30          	add    $0x30,%rsp
140005933:	5b                   	pop    %rbx
140005934:	c3                   	ret
140005935:	cc                   	int3
140005936:	cc                   	int3
140005937:	cc                   	int3
140005938:	cc                   	int3
140005939:	cc                   	int3
14000593a:	cc                   	int3
14000593b:	cc                   	int3
14000593c:	cc                   	int3
14000593d:	cc                   	int3
14000593e:	cc                   	int3
14000593f:	cc                   	int3
140005940:	40 53                	rex push %rbx
140005942:	48 83 ec 30          	sub    $0x30,%rsp
140005946:	33 db                	xor    %ebx,%ebx
140005948:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
14000594d:	4c 8b c2             	mov    %rdx,%r8
140005950:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140005955:	48 8b 51 48          	mov    0x48(%rcx),%rdx
140005959:	48 8b 49 50          	mov    0x50(%rcx),%rcx
14000595d:	44 8d 4b 04          	lea    0x4(%rbx),%r9d
140005961:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140005966:	ff 15 fc 68 03 00    	call   *0x368fc(%rip)        # 0x14003c268
14000596c:	85 c0                	test   %eax,%eax
14000596e:	75 06                	jne    0x140005976
140005970:	48 83 c4 30          	add    $0x30,%rsp
140005974:	5b                   	pop    %rbx
140005975:	c3                   	ret
140005976:	48 83 7c 24 40 04    	cmpq   $0x4,0x40(%rsp)
14000597c:	0f 94 c0             	sete   %al
14000597f:	48 83 c4 30          	add    $0x30,%rsp
140005983:	5b                   	pop    %rbx
140005984:	c3                   	ret
140005985:	cc                   	int3
140005986:	cc                   	int3
140005987:	cc                   	int3
140005988:	cc                   	int3
140005989:	cc                   	int3
14000598a:	cc                   	int3
14000598b:	cc                   	int3
14000598c:	cc                   	int3
14000598d:	cc                   	int3
14000598e:	cc                   	int3
14000598f:	cc                   	int3
140005990:	48 8b 41 40          	mov    0x40(%rcx),%rax
140005994:	48 89 02             	mov    %rax,(%rdx)
140005997:	48 8b 41 38          	mov    0x38(%rcx),%rax
14000599b:	48 89 42 08          	mov    %rax,0x8(%rdx)
14000599f:	48 8b c2             	mov    %rdx,%rax
1400059a2:	c3                   	ret
1400059a3:	cc                   	int3
1400059a4:	cc                   	int3
1400059a5:	cc                   	int3
1400059a6:	cc                   	int3
1400059a7:	cc                   	int3
1400059a8:	cc                   	int3
1400059a9:	cc                   	int3
1400059aa:	cc                   	int3
1400059ab:	cc                   	int3
1400059ac:	cc                   	int3
1400059ad:	cc                   	int3
1400059ae:	cc                   	int3
1400059af:	cc                   	int3
1400059b0:	40 53                	rex push %rbx
1400059b2:	48 83 ec 30          	sub    $0x30,%rsp
1400059b6:	44 8b 41 08          	mov    0x8(%rcx),%r8d
1400059ba:	48 8b d9             	mov    %rcx,%rbx
1400059bd:	b9 00 00 00 10       	mov    $0x10000000,%ecx
1400059c2:	33 d2                	xor    %edx,%edx
1400059c4:	ff 15 96 68 03 00    	call   *0x36896(%rip)        # 0x14003c260
1400059ca:	48 89 43 50          	mov    %rax,0x50(%rbx)
1400059ce:	48 85 c0             	test   %rax,%rax
1400059d1:	75 08                	jne    0x1400059db
1400059d3:	32 c0                	xor    %al,%al
1400059d5:	48 83 c4 30          	add    $0x30,%rsp
1400059d9:	5b                   	pop    %rbx
1400059da:	c3                   	ret
1400059db:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1400059e0:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1400059e5:	4c 8d 4c 24 50       	lea    0x50(%rsp),%r9
1400059ea:	48 8b c8             	mov    %rax,%rcx
1400059ed:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
1400059f2:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
1400059f7:	ff 15 5b 68 03 00    	call   *0x3685b(%rip)        # 0x14003c258
1400059fd:	85 c0                	test   %eax,%eax
1400059ff:	74 09                	je     0x140005a0a
140005a01:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140005a06:	48 89 43 78          	mov    %rax,0x78(%rbx)
140005a0a:	8b 43 78             	mov    0x78(%rbx),%eax
140005a0d:	45 33 c9             	xor    %r9d,%r9d
140005a10:	45 33 c0             	xor    %r8d,%r8d
140005a13:	89 83 80 00 00 00    	mov    %eax,0x80(%rbx)
140005a19:	33 c9                	xor    %ecx,%ecx
140005a1b:	41 8d 51 01          	lea    0x1(%r9),%edx
140005a1f:	ff 15 0b 68 03 00    	call   *0x3680b(%rip)        # 0x14003c230
140005a25:	48 89 43 58          	mov    %rax,0x58(%rbx)
140005a29:	48 85 c0             	test   %rax,%rax
140005a2c:	74 a5                	je     0x1400059d3
140005a2e:	45 33 c9             	xor    %r9d,%r9d
140005a31:	45 33 c0             	xor    %r8d,%r8d
140005a34:	33 c9                	xor    %ecx,%ecx
140005a36:	41 8d 51 01          	lea    0x1(%r9),%edx
140005a3a:	ff 15 f0 67 03 00    	call   *0x367f0(%rip)        # 0x14003c230
140005a40:	48 85 c0             	test   %rax,%rax
140005a43:	48 89 43 60          	mov    %rax,0x60(%rbx)
140005a47:	0f 95 c0             	setne  %al
140005a4a:	48 83 c4 30          	add    $0x30,%rsp
140005a4e:	5b                   	pop    %rbx
140005a4f:	c3                   	ret
140005a50:	40 53                	rex push %rbx
140005a52:	56                   	push   %rsi
140005a53:	48 83 ec 38          	sub    $0x38,%rsp
140005a57:	48 8b 59 38          	mov    0x38(%rcx),%rbx
140005a5b:	48 8b f1             	mov    %rcx,%rsi
140005a5e:	48 81 fb 00 10 00 00 	cmp    $0x1000,%rbx
140005a65:	76 09                	jbe    0x140005a70
140005a67:	32 c0                	xor    %al,%al
140005a69:	48 83 c4 38          	add    $0x38,%rsp
140005a6d:	5e                   	pop    %rsi
140005a6e:	5b                   	pop    %rbx
140005a6f:	c3                   	ret
140005a70:	48 89 7c 24 60       	mov    %rdi,0x60(%rsp)
140005a75:	33 ff                	xor    %edi,%edi
140005a77:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140005a7c:	4c 8b f3             	mov    %rbx,%r14
140005a7f:	49 c1 e6 08          	shl    $0x8,%r14
140005a83:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
140005a88:	48 39 79 40          	cmp    %rdi,0x40(%rcx)
140005a8c:	75 65                	jne    0x140005af3
140005a8e:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
140005a95:	48 89 6c 24 58       	mov    %rbp,0x58(%rsp)
140005a9a:	b8 00 01 00 00       	mov    $0x100,%eax
140005a9f:	48 f7 e3             	mul    %rbx
140005aa2:	48 0f 40 c1          	cmovo  %rcx,%rax
140005aa6:	48 8b c8             	mov    %rax,%rcx
140005aa9:	e8 b2 b7 ff ff       	call   0x140001260
140005aae:	48 8b e8             	mov    %rax,%rbp
140005ab1:	48 85 c0             	test   %rax,%rax
140005ab4:	74 23                	je     0x140005ad9
140005ab6:	48 8b c8             	mov    %rax,%rcx
140005ab9:	48 85 db             	test   %rbx,%rbx
140005abc:	74 1e                	je     0x140005adc
140005abe:	66 90                	xchg   %ax,%ax
140005ac0:	66 89 39             	mov    %di,(%rcx)
140005ac3:	66 89 b9 80 00 00 00 	mov    %di,0x80(%rcx)
140005aca:	48 8d 89 00 01 00 00 	lea    0x100(%rcx),%rcx
140005ad1:	48 83 eb 01          	sub    $0x1,%rbx
140005ad5:	75 e9                	jne    0x140005ac0
140005ad7:	eb 03                	jmp    0x140005adc
140005ad9:	48 8b ef             	mov    %rdi,%rbp
140005adc:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
140005ae0:	48 3b e9             	cmp    %rcx,%rbp
140005ae3:	74 09                	je     0x140005aee
140005ae5:	e8 c6 b7 ff ff       	call   0x1400012b0
140005aea:	48 89 6e 40          	mov    %rbp,0x40(%rsi)
140005aee:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140005af3:	4c 8b 46 40          	mov    0x40(%rsi),%r8
140005af7:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
140005afc:	48 8b 56 30          	mov    0x30(%rsi),%rdx
140005b00:	4d 8b ce             	mov    %r14,%r9
140005b03:	48 8b 4e 50          	mov    0x50(%rsi),%rcx
140005b07:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140005b0c:	ff 15 56 67 03 00    	call   *0x36756(%rip)        # 0x14003c268
140005b12:	85 c0                	test   %eax,%eax
140005b14:	75 11                	jne    0x140005b27
140005b16:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
140005b1b:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
140005b20:	48 83 c4 38          	add    $0x38,%rsp
140005b24:	5e                   	pop    %rsi
140005b25:	5b                   	pop    %rbx
140005b26:	c3                   	ret
140005b27:	48 8b ce             	mov    %rsi,%rcx
140005b2a:	e8 21 00 00 00       	call   0x140005b50
140005b2f:	4c 39 74 24 50       	cmp    %r14,0x50(%rsp)
140005b34:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
140005b39:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
140005b3e:	0f 94 c0             	sete   %al
140005b41:	48 83 c4 38          	add    $0x38,%rsp
140005b45:	5e                   	pop    %rsi
140005b46:	5b                   	pop    %rbx
140005b47:	c3                   	ret
140005b48:	cc                   	int3
140005b49:	cc                   	int3
140005b4a:	cc                   	int3
140005b4b:	cc                   	int3
140005b4c:	cc                   	int3
140005b4d:	cc                   	int3
140005b4e:	cc                   	int3
140005b4f:	cc                   	int3
140005b50:	40 53                	rex push %rbx
140005b52:	55                   	push   %rbp
140005b53:	56                   	push   %rsi
140005b54:	57                   	push   %rdi
140005b55:	41 56                	push   %r14
140005b57:	48 83 ec 20          	sub    $0x20,%rsp
140005b5b:	48 8b f1             	mov    %rcx,%rsi
140005b5e:	33 db                	xor    %ebx,%ebx
140005b60:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140005b65:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140005b6a:	ff 15 00 67 03 00    	call   *0x36700(%rip)        # 0x14003c270
140005b70:	8b 46 7c             	mov    0x7c(%rsi),%eax
140005b73:	44 8b cb             	mov    %ebx,%r9d
140005b76:	44 8b 5e 38          	mov    0x38(%rsi),%r11d
140005b7a:	89 44 24 64          	mov    %eax,0x64(%rsp)
140005b7e:	8b 46 78             	mov    0x78(%rsi),%eax
140005b81:	89 44 24 60          	mov    %eax,0x60(%rsp)
140005b85:	8b 44 24 54          	mov    0x54(%rsp),%eax
140005b89:	89 44 24 5c          	mov    %eax,0x5c(%rsp)
140005b8d:	8b 44 24 50          	mov    0x50(%rsp),%eax
140005b91:	89 44 24 58          	mov    %eax,0x58(%rsp)
140005b95:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
140005b9c:	cc cc cc
140005b9f:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140005ba4:	48 2b 4c 24 60       	sub    0x60(%rsp),%rcx
140005ba9:	48 f7 e1             	mul    %rcx
140005bac:	48 b8 77 be 9f 1a 2f 	movabs $0x624dd2f1a9fbe77,%rax
140005bb3:	dd 24 06
140005bb6:	48 8b fa             	mov    %rdx,%rdi
140005bb9:	48 c1 ef 03          	shr    $0x3,%rdi
140005bbd:	48 f7 e7             	mul    %rdi
140005bc0:	48 2b fa             	sub    %rdx,%rdi
140005bc3:	48 d1 ef             	shr    $1,%rdi