1400497bc:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1400497c0:	74 26                	je     0x1400497e8
1400497c2:	48 8b 47 08          	mov    0x8(%rdi),%rax
1400497c6:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1400497ca:	75 17                	jne    0x1400497e3
1400497cc:	0f 1f 40 00          	nopl   0x0(%rax)
1400497d0:	48 3b 78 10          	cmp    0x10(%rax),%rdi
1400497d4:	75 0d                	jne    0x1400497e3
1400497d6:	48 8b f8             	mov    %rax,%rdi
1400497d9:	48 8b 40 08          	mov    0x8(%rax),%rax
1400497dd:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1400497e1:	74 ed                	je     0x1400497d0
1400497e3:	48 8b f8             	mov    %rax,%rdi
1400497e6:	eb 27                	jmp    0x14004980f
1400497e8:	48 8b f8             	mov    %rax,%rdi
1400497eb:	48 8b 08             	mov    (%rax),%rcx
1400497ee:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
1400497f2:	75 1b                	jne    0x14004980f
1400497f4:	0f 1f 40 00          	nopl   0x0(%rax)
1400497f8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1400497ff:	00
140049800:	48 8b f9             	mov    %rcx,%rdi
140049803:	48 8b 01             	mov    (%rcx),%rax
140049806:	48 8b c8             	mov    %rax,%rcx
140049809:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
14004980d:	74 f1                	je     0x140049800
14004980f:	48 3b fe             	cmp    %rsi,%rdi
140049812:	0f 85 d8 fe ff ff    	jne    0x1400496f0
140049818:	49 2b 6e 08          	sub    0x8(%r14),%rbp
14004981c:	48 8b c5             	mov    %rbp,%rax
14004981f:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
140049824:	49 8b 5b 28          	mov    0x28(%r11),%rbx
140049828:	49 8b 6b 30          	mov    0x30(%r11),%rbp
14004982c:	49 8b e3             	mov    %r11,%rsp
14004982f:	41 5e                	pop    %r14
140049831:	5f                   	pop    %rdi
140049832:	5e                   	pop    %rsi
140049833:	c3                   	ret
140049834:	cc                   	int3
140049835:	cc                   	int3
140049836:	cc                   	int3
140049837:	cc                   	int3
140049838:	cc                   	int3
140049839:	cc                   	int3
14004983a:	cc                   	int3
14004983b:	cc                   	int3
14004983c:	cc                   	int3
14004983d:	cc                   	int3
14004983e:	cc                   	int3
14004983f:	cc                   	int3
140049840:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140049845:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14004984a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14004984f:	57                   	push   %rdi
140049850:	41 56                	push   %r14
140049852:	41 57                	push   %r15
140049854:	48 83 ec 60          	sub    $0x60,%rsp
140049858:	48 8b 05 e1 e7 02 00 	mov    0x2e7e1(%rip),%rax        # 0x140078040
14004985f:	48 33 c4             	xor    %rsp,%rax
140049862:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140049867:	48 8b f2             	mov    %rdx,%rsi
14004986a:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14004986f:	8b 02                	mov    (%rdx),%eax
140049871:	89 44 24 28          	mov    %eax,0x28(%rsp)
140049875:	48 8b 7a 08          	mov    0x8(%rdx),%rdi
140049879:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
14004987e:	48 85 ff             	test   %rdi,%rdi
140049881:	74 0a                	je     0x14004988d
140049883:	48 8b 07             	mov    (%rdi),%rax
140049886:	48 8b cf             	mov    %rdi,%rcx
140049889:	ff 50 08             	call   *0x8(%rax)
14004988c:	90                   	nop
14004988d:	48 8b 5e 10          	mov    0x10(%rsi),%rbx
140049891:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
140049896:	4c 8b 76 18          	mov    0x18(%rsi),%r14
14004989a:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
14004989f:	4c 8b 7e 20          	mov    0x20(%rsi),%r15
1400498a3:	4c 89 7c 24 48       	mov    %r15,0x48(%rsp)
1400498a8:	0f b6 6e 28          	movzbl 0x28(%rsi),%ebp
1400498ac:	40 88 6c 24 50       	mov    %bpl,0x50(%rsp)
1400498b1:	0f b6 46 29          	movzbl 0x29(%rsi),%eax
1400498b5:	88 44 24 51          	mov    %al,0x51(%rsp)
1400498b9:	0f b6 c8             	movzbl %al,%ecx
1400498bc:	40 84 ed             	test   %bpl,%bpl
1400498bf:	74 2f                	je     0x1400498f0
1400498c1:	84 c0                	test   %al,%al
1400498c3:	75 2b                	jne    0x1400498f0
1400498c5:	48 85 ff             	test   %rdi,%rdi
1400498c8:	74 26                	je     0x1400498f0
1400498ca:	48 8b 07             	mov    (%rdi),%rax
1400498cd:	48 8b d3             	mov    %rbx,%rdx
1400498d0:	48 8b cf             	mov    %rdi,%rcx
1400498d3:	ff 50 60             	call   *0x60(%rax)
1400498d6:	48 8b 07             	mov    (%rdi),%rax
1400498d9:	49 8b d6             	mov    %r14,%rdx
1400498dc:	48 8b cf             	mov    %rdi,%rcx
1400498df:	ff 50 50             	call   *0x50(%rax)
1400498e2:	48 8b 07             	mov    (%rdi),%rax
1400498e5:	49 8b d7             	mov    %r15,%rdx
1400498e8:	48 8b cf             	mov    %rdi,%rcx
1400498eb:	ff 50 70             	call   *0x70(%rax)
1400498ee:	b1 01                	mov    $0x1,%cl
1400498f0:	40 84 ed             	test   %bpl,%bpl
1400498f3:	74 2e                	je     0x140049923
1400498f5:	84 c9                	test   %cl,%cl
1400498f7:	75 2a                	jne    0x140049923
1400498f9:	48 85 ff             	test   %rdi,%rdi
1400498fc:	74 25                	je     0x140049923
1400498fe:	48 8b 07             	mov    (%rdi),%rax
140049901:	48 8b d3             	mov    %rbx,%rdx
140049904:	48 8b cf             	mov    %rdi,%rcx
140049907:	ff 50 60             	call   *0x60(%rax)
14004990a:	48 8b 07             	mov    (%rdi),%rax
14004990d:	49 8b d6             	mov    %r14,%rdx
140049910:	48 8b cf             	mov    %rdi,%rcx
140049913:	ff 50 50             	call   *0x50(%rax)
140049916:	48 8b 07             	mov    (%rdi),%rax
140049919:	49 8b d7             	mov    %r15,%rdx
14004991c:	48 8b cf             	mov    %rdi,%rcx
14004991f:	ff 50 70             	call   *0x70(%rax)
140049922:	90                   	nop
140049923:	48 85 ff             	test   %rdi,%rdi
140049926:	74 0a                	je     0x140049932
140049928:	48 8b 17             	mov    (%rdi),%rdx
14004992b:	48 8b cf             	mov    %rdi,%rcx
14004992e:	ff 52 10             	call   *0x10(%rdx)
140049931:	90                   	nop
140049932:	48 8b ce             	mov    %rsi,%rcx
140049935:	e8 66 06 00 00       	call   0x140049fa0
14004993a:	40 0f b6 c5          	movzbl %bpl,%eax
14004993e:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140049943:	48 33 cc             	xor    %rsp,%rcx
140049946:	e8 b5 fe 00 00       	call   0x140059800
14004994b:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
140049950:	49 8b 5b 20          	mov    0x20(%r11),%rbx
140049954:	49 8b 6b 30          	mov    0x30(%r11),%rbp
140049958:	49 8b 73 38          	mov    0x38(%r11),%rsi
14004995c:	49 8b e3             	mov    %r11,%rsp
14004995f:	41 5f                	pop    %r15
140049961:	41 5e                	pop    %r14
140049963:	5f                   	pop    %rdi
140049964:	c3                   	ret
140049965:	cc                   	int3
140049966:	cc                   	int3
140049967:	cc                   	int3
140049968:	cc                   	int3
140049969:	cc                   	int3
14004996a:	cc                   	int3
14004996b:	cc                   	int3
14004996c:	cc                   	int3
14004996d:	cc                   	int3
14004996e:	cc                   	int3
14004996f:	cc                   	int3
140049970:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140049975:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14004997a:	57                   	push   %rdi
14004997b:	41 54                	push   %r12
14004997d:	41 55                	push   %r13
14004997f:	41 56                	push   %r14
140049981:	41 57                	push   %r15
140049983:	48 83 ec 40          	sub    $0x40,%rsp
140049987:	4c 8b ea             	mov    %rdx,%r13
14004998a:	48 8b f9             	mov    %rcx,%rdi
14004998d:	48 8b 01             	mov    (%rcx),%rax
140049990:	4c 8b e2             	mov    %rdx,%r12
140049993:	4c 2b e0             	sub    %rax,%r12
140049996:	4c 8b 79 08          	mov    0x8(%rcx),%r15
14004999a:	4c 2b f8             	sub    %rax,%r15
14004999d:	49 c1 ff 05          	sar    $0x5,%r15
1400499a1:	49 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%r8
1400499a8:	ff ff 07
1400499ab:	4d 3b f8             	cmp    %r8,%r15
1400499ae:	0f 84 98 01 00 00    	je     0x140049b4c
1400499b4:	49 ff c7             	inc    %r15
1400499b7:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1400499bb:	48 2b c8             	sub    %rax,%rcx
1400499be:	48 c1 f9 05          	sar    $0x5,%rcx
1400499c2:	48 8b d1             	mov    %rcx,%rdx
1400499c5:	48 d1 ea             	shr    $1,%rdx
1400499c8:	49 8b c0             	mov    %r8,%rax
1400499cb:	48 2b c2             	sub    %rdx,%rax
1400499ce:	48 3b c8             	cmp    %rax,%rcx
1400499d1:	0f 87 6f 01 00 00    	ja     0x140049b46
1400499d7:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
1400499db:	4d 8b f7             	mov    %r15,%r14
1400499de:	49 3b c7             	cmp    %r15,%rax
1400499e1:	4c 0f 43 f0          	cmovae %rax,%r14
1400499e5:	4d 3b f0             	cmp    %r8,%r14
1400499e8:	0f 87 58 01 00 00    	ja     0x140049b46
1400499ee:	49 8b f6             	mov    %r14,%rsi
1400499f1:	48 c1 e6 05          	shl    $0x5,%rsi
1400499f5:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
1400499fa:	48 81 fe 00 10 00 00 	cmp    $0x1000,%rsi
140049a01:	72 29                	jb     0x140049a2c
140049a03:	48 8d 4e 27          	lea    0x27(%rsi),%rcx
140049a07:	48 3b ce             	cmp    %rsi,%rcx
140049a0a:	0f 86 36 01 00 00    	jbe    0x140049b46
140049a10:	e8 2b ff 00 00       	call   0x140059940
140049a15:	48 85 c0             	test   %rax,%rax
140049a18:	0f 84 21 01 00 00    	je     0x140049b3f
140049a1e:	48 8d 58 27          	lea    0x27(%rax),%rbx
140049a22:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140049a26:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140049a2a:	eb 23                	jmp    0x140049a4f
140049a2c:	48 85 f6             	test   %rsi,%rsi
140049a2f:	74 17                	je     0x140049a48
140049a31:	48 8b ce             	mov    %rsi,%rcx
140049a34:	e8 07 ff 00 00       	call   0x140059940
140049a39:	48 8b d8             	mov    %rax,%rbx
140049a3c:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140049a41:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140049a46:	eb 0c                	jmp    0x140049a54
140049a48:	33 db                	xor    %ebx,%ebx
140049a4a:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140049a4f:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140049a54:	49 83 e4 e0          	and    $0xffffffffffffffe0,%r12
140049a58:	4d 8d 34 1c          	lea    (%r12,%rbx,1),%r14
140049a5c:	4d 8d 66 20          	lea    0x20(%r14),%r12
140049a60:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
140049a65:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
140049a6a:	0f 57 c0             	xorps  %xmm0,%xmm0
140049a6d:	41 0f 11 06          	movups %xmm0,(%r14)
140049a71:	49 c7 46 10 00 00 00 	movq   $0x0,0x10(%r14)
140049a78:	00
140049a79:	49 c7 46 18 00 00 00 	movq   $0x0,0x18(%r14)
140049a80:	00
140049a81:	41 b8 03 00 00 00    	mov    $0x3,%r8d
140049a87:	48 8d 15 82 b3 01 00 	lea    0x1b382(%rip),%rdx        # 0x140064e10
140049a8e:	49 8b ce             	mov    %r14,%rcx
140049a91:	e8 aa a5 fd ff       	call   0x140024040
140049a96:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140049a9b:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140049a9f:	48 8b 0f             	mov    (%rdi),%rcx
140049aa2:	4c 8b c3             	mov    %rbx,%r8
140049aa5:	4c 3b ea             	cmp    %rdx,%r13
140049aa8:	74 17                	je     0x140049ac1
140049aaa:	49 8b d5             	mov    %r13,%rdx
140049aad:	e8 ce 05 00 00       	call   0x14004a080
140049ab2:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140049ab7:	4d 8b c4             	mov    %r12,%r8
140049aba:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140049abe:	49 8b cd             	mov    %r13,%rcx
140049ac1:	e8 ba 05 00 00       	call   0x14004a080
140049ac6:	90                   	nop
140049ac7:	48 8b 0f             	mov    (%rdi),%rcx
140049aca:	48 85 c9             	test   %rcx,%rcx
140049acd:	74 3d                	je     0x140049b0c
140049acf:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140049ad3:	e8 a8 f9 ff ff       	call   0x140049480
140049ad8:	48 8b 0f             	mov    (%rdi),%rcx
140049adb:	48 8b 57 10          	mov    0x10(%rdi),%rdx
140049adf:	48 2b d1             	sub    %rcx,%rdx
140049ae2:	48 83 e2 e0          	and    $0xffffffffffffffe0,%rdx
140049ae6:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140049aed:	72 18                	jb     0x140049b07
140049aef:	48 83 c2 27          	add    $0x27,%rdx
140049af3:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140049af7:	49 2b c8             	sub    %r8,%rcx
140049afa:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140049afe:	48 83 f8 1f          	cmp    $0x1f,%rax
140049b02:	77 3b                	ja     0x140049b3f
140049b04:	49 8b c8             	mov    %r8,%rcx
140049b07:	e8 88 01 01 00       	call   0x140059c94
140049b0c:	48 89 1f             	mov    %rbx,(%rdi)
140049b0f:	49 c1 e7 05          	shl    $0x5,%r15
140049b13:	4c 03 fb             	add    %rbx,%r15
140049b16:	4c 89 7f 08          	mov    %r15,0x8(%rdi)
140049b1a:	48 8d 0c 1e          	lea    (%rsi,%rbx,1),%rcx
140049b1e:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140049b22:	49 8b c6             	mov    %r14,%rax
140049b25:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
140049b2a:	49 8b 5b 40          	mov    0x40(%r11),%rbx
140049b2e:	49 8b 73 48          	mov    0x48(%r11),%rsi
140049b32:	49 8b e3             	mov    %r11,%rsp
140049b35:	41 5f                	pop    %r15
140049b37:	41 5e                	pop    %r14
140049b39:	41 5d                	pop    %r13
140049b3b:	41 5c                	pop    %r12
140049b3d:	5f                   	pop    %rdi
140049b3e:	c3                   	ret
140049b3f:	ff 15 5b 5a 01 00    	call   *0x15a5b(%rip)        # 0x14005f5a0
140049b45:	cc                   	int3
140049b46:	e8 c5 77 fb ff       	call   0x140001310
140049b4b:	cc                   	int3
140049b4c:	e8 3f 80 fc ff       	call   0x140011b90
140049b51:	cc                   	int3
140049b52:	cc                   	int3
140049b53:	cc                   	int3
140049b54:	cc                   	int3
140049b55:	cc                   	int3
140049b56:	cc                   	int3
140049b57:	cc                   	int3
140049b58:	cc                   	int3
140049b59:	cc                   	int3
140049b5a:	cc                   	int3
140049b5b:	cc                   	int3
140049b5c:	cc                   	int3
140049b5d:	cc                   	int3
140049b5e:	cc                   	int3
140049b5f:	cc                   	int3
140049b60:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140049b65:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140049b6a:	57                   	push   %rdi
140049b6b:	41 54                	push   %r12
140049b6d:	41 55                	push   %r13
140049b6f:	41 56                	push   %r14
140049b71:	41 57                	push   %r15
140049b73:	48 83 ec 40          	sub    $0x40,%rsp
140049b77:	4c 8b ea             	mov    %rdx,%r13
140049b7a:	48 8b f9             	mov    %rcx,%rdi
140049b7d:	48 8b 01             	mov    (%rcx),%rax
140049b80:	4c 8b e2             	mov    %rdx,%r12
140049b83:	4c 2b e0             	sub    %rax,%r12
140049b86:	4c 8b 79 08          	mov    0x8(%rcx),%r15
140049b8a:	4c 2b f8             	sub    %rax,%r15
140049b8d:	49 c1 ff 05          	sar    $0x5,%r15
140049b91:	49 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%r8
140049b98:	ff ff 07
140049b9b:	4d 3b f8             	cmp    %r8,%r15
140049b9e:	0f 84 98 01 00 00    	je     0x140049d3c
140049ba4:	49 ff c7             	inc    %r15
140049ba7:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140049bab:	48 2b c8             	sub    %rax,%rcx
140049bae:	48 c1 f9 05          	sar    $0x5,%rcx
140049bb2:	48 8b d1             	mov    %rcx,%rdx
140049bb5:	48 d1 ea             	shr    $1,%rdx
140049bb8:	49 8b c0             	mov    %r8,%rax
140049bbb:	48 2b c2             	sub    %rdx,%rax
140049bbe:	48 3b c8             	cmp    %rax,%rcx
140049bc1:	0f 87 6f 01 00 00    	ja     0x140049d36
140049bc7:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140049bcb:	4d 8b f7             	mov    %r15,%r14
140049bce:	49 3b c7             	cmp    %r15,%rax
140049bd1:	4c 0f 43 f0          	cmovae %rax,%r14
140049bd5:	4d 3b f0             	cmp    %r8,%r14
140049bd8:	0f 87 58 01 00 00    	ja     0x140049d36
140049bde:	49 8b f6             	mov    %r14,%rsi
140049be1:	48 c1 e6 05          	shl    $0x5,%rsi
140049be5:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140049bea:	48 81 fe 00 10 00 00 	cmp    $0x1000,%rsi
140049bf1:	72 29                	jb     0x140049c1c
140049bf3:	48 8d 4e 27          	lea    0x27(%rsi),%rcx
140049bf7:	48 3b ce             	cmp    %rsi,%rcx
140049bfa:	0f 86 36 01 00 00    	jbe    0x140049d36
140049c00:	e8 3b fd 00 00       	call   0x140059940
140049c05:	48 85 c0             	test   %rax,%rax
140049c08:	0f 84 21 01 00 00    	je     0x140049d2f
140049c0e:	48 8d 58 27          	lea    0x27(%rax),%rbx
140049c12:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140049c16:	48 89 43 f8          	mov    %rax,-0x8(%rbx)