180055722:	e8 55 bc ff ff       	call   0x18005137c
180055727:	83 f8 ff             	cmp    $0xffffffff,%eax
18005572a:	74 0b                	je     0x180055737
18005572c:	44 8b c0             	mov    %eax,%r8d
18005572f:	e8 1c bc ff ff       	call   0x180051350
180055734:	48 8b d8             	mov    %rax,%rbx
180055737:	8a 43 03             	mov    0x3(%rbx),%al
18005573a:	c0 e8 04             	shr    $0x4,%al
18005573d:	41 88 46 39          	mov    %al,0x39(%r14)
180055741:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180055746:	8b c5                	mov    %ebp,%eax
180055748:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18005574d:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180055752:	48 83 c4 20          	add    $0x20,%rsp
180055756:	41 5f                	pop    %r15
180055758:	41 5e                	pop    %r14
18005575a:	5f                   	pop    %rdi
18005575b:	c3                   	ret
18005575c:	cc                   	int3
18005575d:	cc                   	int3
18005575e:	cc                   	int3
18005575f:	cc                   	int3
180055760:	48 8b c4             	mov    %rsp,%rax
180055763:	48 89 58 08          	mov    %rbx,0x8(%rax)
180055767:	48 89 68 10          	mov    %rbp,0x10(%rax)
18005576b:	48 89 70 18          	mov    %rsi,0x18(%rax)
18005576f:	48 89 78 20          	mov    %rdi,0x20(%rax)
180055773:	41 56                	push   %r14
180055775:	48 83 ec 20          	sub    $0x20,%rsp
180055779:	49 8b f9             	mov    %r9,%rdi
18005577c:	41 8b e8             	mov    %r8d,%ebp
18005577f:	44 8b f2             	mov    %edx,%r14d
180055782:	48 8b f1             	mov    %rcx,%rsi
180055785:	e8 c6 bb ff ff       	call   0x180051350
18005578a:	48 8b d0             	mov    %rax,%rdx
18005578d:	48 8b d8             	mov    %rax,%rbx
180055790:	e8 6f bc ff ff       	call   0x180051404
180055795:	48 8b 53 08          	mov    0x8(%rbx),%rdx
180055799:	48 8b c8             	mov    %rax,%rcx
18005579c:	44 8b 4c 24 58       	mov    0x58(%rsp),%r9d
1800557a1:	48 03 d7             	add    %rdi,%rdx
1800557a4:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
1800557a9:	e8 a6 20 fe ff       	call   0x180037854
1800557ae:	85 c0                	test   %eax,%eax
1800557b0:	79 0e                	jns    0x1800557c0
1800557b2:	44 8b c5             	mov    %ebp,%r8d
1800557b5:	41 8b d6             	mov    %r14d,%edx
1800557b8:	48 8b ce             	mov    %rsi,%rcx
1800557bb:	e8 1c 00 00 00       	call   0x1800557dc
1800557c0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800557c5:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1800557ca:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1800557cf:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1800557d4:	48 83 c4 20          	add    $0x20,%rsp
1800557d8:	41 5e                	pop    %r14
1800557da:	c3                   	ret
1800557db:	cc                   	int3
1800557dc:	48 83 ec 38          	sub    $0x38,%rsp
1800557e0:	48 8b 41 08          	mov    0x8(%rcx),%rax
1800557e4:	45 8b d0             	mov    %r8d,%r10d
1800557e7:	44 8b 48 2c          	mov    0x2c(%rax),%r9d
1800557eb:	41 f6 c1 08          	test   $0x8,%r9b
1800557ef:	74 47                	je     0x180055838
1800557f1:	e8 5a bb ff ff       	call   0x180051350
1800557f6:	41 b9 bf ff 00 00    	mov    $0xffbf,%r9d
1800557fc:	44 0f b7 00          	movzwl (%rax),%r8d
180055800:	66 45 23 c1          	and    %r9w,%r8w
180055804:	66 44 89 00          	mov    %r8w,(%rax)
180055808:	48 8b 41 20          	mov    0x20(%rcx),%rax
18005580c:	48 85 c0             	test   %rax,%rax
18005580f:	74 06                	je     0x180055817
180055811:	48 83 c0 38          	add    $0x38,%rax
180055815:	eb 08                	jmp    0x18005581f
180055817:	48 8b 41 08          	mov    0x8(%rcx),%rax
18005581b:	48 83 c0 30          	add    $0x30,%rax
18005581f:	48 8b 40 08          	mov    0x8(%rax),%rax
180055823:	45 33 c9             	xor    %r9d,%r9d
180055826:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
18005582b:	45 8b c2             	mov    %r10d,%r8d
18005582e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180055833:	e8 28 ff ff ff       	call   0x180055760
180055838:	48 83 c4 38          	add    $0x38,%rsp
18005583c:	c3                   	ret
18005583d:	cc                   	int3
18005583e:	cc                   	int3
18005583f:	cc                   	int3
180055840:	48 8b c4             	mov    %rsp,%rax
180055843:	48 89 58 08          	mov    %rbx,0x8(%rax)
180055847:	48 89 68 10          	mov    %rbp,0x10(%rax)
18005584b:	48 89 70 18          	mov    %rsi,0x18(%rax)
18005584f:	48 89 78 20          	mov    %rdi,0x20(%rax)
180055853:	41 56                	push   %r14
180055855:	48 83 ec 30          	sub    $0x30,%rsp
180055859:	41 8b d9             	mov    %r9d,%ebx
18005585c:	41 8b e8             	mov    %r8d,%ebp
18005585f:	44 8b f2             	mov    %edx,%r14d
180055862:	48 8b f1             	mov    %rcx,%rsi
180055865:	41 81 f9 83 04 00 c0 	cmp    $0xc0000483,%r9d
18005586c:	75 05                	jne    0x180055873
18005586e:	40 b7 04             	mov    $0x4,%dil
180055871:	eb 56                	jmp    0x1800558c9
180055873:	41 ba 05 00 00 00    	mov    $0x5,%r10d
180055879:	81 fb 0e 00 00 c0    	cmp    $0xc000000e,%ebx
18005587f:	74 2b                	je     0x1800558ac
180055881:	81 fb 9d 00 00 c0    	cmp    $0xc000009d,%ebx
180055887:	74 23                	je     0x1800558ac
180055889:	81 fb c0 00 00 c0    	cmp    $0xc00000c0,%ebx
18005588f:	74 1b                	je     0x1800558ac
180055891:	e8 ba ba ff ff       	call   0x180051350
180055896:	41 8d 7a fe          	lea    -0x2(%r10),%edi
18005589a:	8a 48 02             	mov    0x2(%rax),%cl
18005589d:	80 e1 0f             	and    $0xf,%cl
1800558a0:	41 2a ca             	sub    %r10b,%cl
1800558a3:	80 f9 01             	cmp    $0x1,%cl
1800558a6:	41 0f 46 fa          	cmovbe %r10d,%edi
1800558aa:	eb 03                	jmp    0x1800558af
1800558ac:	40 b7 01             	mov    $0x1,%dil
1800558af:	f6 46 28 20          	testb  $0x20,0x28(%rsi)
1800558b3:	bb 6b 04 00 c0       	mov    $0xc000046b,%ebx
1800558b8:	41 0f 45 d9          	cmovne %r9d,%ebx
1800558bc:	41 3a fa             	cmp    %r10b,%dil
1800558bf:	75 08                	jne    0x1800558c9
1800558c1:	48 8b ce             	mov    %rsi,%rcx
1800558c4:	e8 13 ff ff ff       	call   0x1800557dc
1800558c9:	41 b1 03             	mov    $0x3,%r9b
1800558cc:	40 88 7c 24 20       	mov    %dil,0x20(%rsp)
1800558d1:	44 8b c5             	mov    %ebp,%r8d
1800558d4:	41 8b d6             	mov    %r14d,%edx
1800558d7:	48 8b ce             	mov    %rsi,%rcx
1800558da:	e8 2d 02 00 00       	call   0x180055b0c
1800558df:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1800558e4:	b9 13 00 e7 c0       	mov    $0xc0e70013,%ecx
1800558e9:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1800558ee:	3b c1                	cmp    %ecx,%eax
1800558f0:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1800558f5:	0f 44 d9             	cmove  %ecx,%ebx
1800558f8:	8b c3                	mov    %ebx,%eax
1800558fa:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1800558ff:	48 83 c4 30          	add    $0x30,%rsp
180055903:	41 5e                	pop    %r14
180055905:	c3                   	ret
180055906:	cc                   	int3
180055907:	cc                   	int3
180055908:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005590d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180055912:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180055917:	57                   	push   %rdi
180055918:	41 54                	push   %r12
18005591a:	41 55                	push   %r13
18005591c:	41 56                	push   %r14
18005591e:	41 57                	push   %r15
180055920:	48 83 ec 30          	sub    $0x30,%rsp
180055924:	48 8b 41 20          	mov    0x20(%rcx),%rax
180055928:	45 8a f9             	mov    %r9b,%r15b
18005592b:	4c 8b 51 08          	mov    0x8(%rcx),%r10
18005592f:	45 8b e0             	mov    %r8d,%r12d
180055932:	44 8b ea             	mov    %edx,%r13d
180055935:	48 8b e9             	mov    %rcx,%rbp
180055938:	4c 8d 70 38          	lea    0x38(%rax),%r14
18005593c:	48 85 c0             	test   %rax,%rax
18005593f:	75 04                	jne    0x180055945
180055941:	4d 8d 72 30          	lea    0x30(%r10),%r14
180055945:	4d 8b 76 08          	mov    0x8(%r14),%r14
180055949:	33 ff                	xor    %edi,%edi
18005594b:	e8 00 ba ff ff       	call   0x180051350
180055950:	49 8b b2 a8 00 00 00 	mov    0xa8(%r10),%rsi
180055957:	48 8b d8             	mov    %rax,%rbx
18005595a:	49 8b 82 e8 00 00 00 	mov    0xe8(%r10),%rax
180055961:	eb 0a                	jmp    0x18005596d
180055963:	4c 8b d0             	mov    %rax,%r10
180055966:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
18005596d:	48 85 c0             	test   %rax,%rax
180055970:	75 f1                	jne    0x180055963
180055972:	8b 53 04             	mov    0x4(%rbx),%edx
180055975:	49 8b 8a e0 00 00 00 	mov    0xe0(%r10),%rcx
18005597c:	e8 5b df fe ff       	call   0x1800438dc
180055981:	48 85 c0             	test   %rax,%rax
180055984:	74 0d                	je     0x180055993
180055986:	48 8b 40 10          	mov    0x10(%rax),%rax
18005598a:	48 85 c0             	test   %rax,%rax
18005598d:	74 04                	je     0x180055993
18005598f:	48 8b 78 30          	mov    0x30(%rax),%rdi
180055993:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
180055997:	ba 0f 00 00 00       	mov    $0xf,%edx
18005599c:	48 23 c2             	and    %rdx,%rax
18005599f:	48 ff 0c c6          	decq   (%rsi,%rax,8)
1800559a3:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
1800559a7:	48 23 c2             	and    %rdx,%rax
1800559aa:	4c 29 74 c6 48       	sub    %r14,0x48(%rsi,%rax,8)
1800559af:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
1800559b3:	48 c1 e8 04          	shr    $0x4,%rax
1800559b7:	48 ff 8c c6 90 00 00 	decq   0x90(%rsi,%rax,8)
1800559be:	00
1800559bf:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
1800559c3:	48 c1 e8 04          	shr    $0x4,%rax
1800559c7:	4c 29 b4 c6 d8 00 00 	sub    %r14,0xd8(%rsi,%rax,8)
1800559ce:	00
1800559cf:	48 85 ff             	test   %rdi,%rdi
1800559d2:	74 41                	je     0x180055a15
1800559d4:	0f b6 4b 02          	movzbl 0x2(%rbx),%ecx
1800559d8:	8a c1                	mov    %cl,%al
1800559da:	22 c2                	and    %dl,%al
1800559dc:	3c 07                	cmp    $0x7,%al
1800559de:	74 35                	je     0x180055a15
1800559e0:	8b c1                	mov    %ecx,%eax
1800559e2:	48 23 c2             	and    %rdx,%rax
1800559e5:	48 ff 0c c7          	decq   (%rdi,%rax,8)
1800559e9:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
1800559ed:	48 23 c2             	and    %rdx,%rax
1800559f0:	4c 29 74 c7 48       	sub    %r14,0x48(%rdi,%rax,8)
1800559f5:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
1800559f9:	48 c1 e8 04          	shr    $0x4,%rax
1800559fd:	48 ff 8c c7 90 00 00 	decq   0x90(%rdi,%rax,8)
180055a04:	00
180055a05:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
180055a09:	48 c1 e8 04          	shr    $0x4,%rax
180055a0d:	4c 29 b4 c7 d8 00 00 	sub    %r14,0xd8(%rdi,%rax,8)
180055a14:	00
180055a15:	8a 84 24 80 00 00 00 	mov    0x80(%rsp),%al
180055a1c:	41 8a cf             	mov    %r15b,%cl
180055a1f:	c0 e0 04             	shl    $0x4,%al
180055a22:	22 ca                	and    %dl,%cl
180055a24:	0a c8                	or     %al,%cl
180055a26:	0f b6 c1             	movzbl %cl,%eax
180055a29:	88 43 02             	mov    %al,0x2(%rbx)
180055a2c:	48 23 c2             	and    %rdx,%rax
180055a2f:	48 ff 04 c6          	incq   (%rsi,%rax,8)
180055a33:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
180055a37:	48 23 c2             	and    %rdx,%rax
180055a3a:	4c 01 74 c6 48       	add    %r14,0x48(%rsi,%rax,8)
180055a3f:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
180055a43:	48 c1 e8 04          	shr    $0x4,%rax
180055a47:	48 ff 84 c6 90 00 00 	incq   0x90(%rsi,%rax,8)
180055a4e:	00
180055a4f:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
180055a53:	48 c1 e8 04          	shr    $0x4,%rax
180055a57:	4c 01 b4 c6 d8 00 00 	add    %r14,0xd8(%rsi,%rax,8)
180055a5e:	00
180055a5f:	48 85 ff             	test   %rdi,%rdi
180055a62:	74 37                	je     0x180055a9b
180055a64:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
180055a68:	48 23 c2             	and    %rdx,%rax
180055a6b:	48 ff 04 c7          	incq   (%rdi,%rax,8)
180055a6f:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
180055a73:	48 23 c2             	and    %rdx,%rax
180055a76:	4c 01 74 c7 48       	add    %r14,0x48(%rdi,%rax,8)
180055a7b:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
180055a7f:	48 c1 e8 04          	shr    $0x4,%rax
180055a83:	48 ff 84 c7 90 00 00 	incq   0x90(%rdi,%rax,8)
180055a8a:	00
180055a8b:	0f b6 43 02          	movzbl 0x2(%rbx),%eax
180055a8f:	48 c1 e8 04          	shr    $0x4,%rax
180055a93:	4c 01 b4 c7 d8 00 00 	add    %r14,0xd8(%rdi,%rax,8)
180055a9a:	00
180055a9b:	48 8b 55 08          	mov    0x8(%rbp),%rdx
180055a9f:	8b 42 2c             	mov    0x2c(%rdx),%eax
180055aa2:	a8 08                	test   $0x8,%al
180055aa4:	74 45                	je     0x180055aeb
180055aa6:	41 fe cf             	dec    %r15b
180055aa9:	41 80 ff 01          	cmp    $0x1,%r15b
180055aad:	77 3c                	ja     0x180055aeb
180055aaf:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
180055ab3:	48 8d 42 30          	lea    0x30(%rdx),%rax
180055ab7:	48 85 c9             	test   %rcx,%rcx
180055aba:	45 8b c4             	mov    %r12d,%r8d
180055abd:	48 8d 51 38          	lea    0x38(%rcx),%rdx
180055ac1:	48 8b cd             	mov    %rbp,%rcx
180055ac4:	48 0f 44 d0          	cmove  %rax,%rdx
180055ac8:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
180055acd:	45 33 c9             	xor    %r9d,%r9d
180055ad0:	48 8b 42 08          	mov    0x8(%rdx),%rax
180055ad4:	41 8b d5             	mov    %r13d,%edx
180055ad7:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180055adc:	e8 7f fc ff ff       	call   0x180055760
180055ae1:	0f b7 03             	movzwl (%rbx),%eax
180055ae4:	66 83 c8 40          	or     $0x40,%ax
180055ae8:	66 89 03             	mov    %ax,(%rbx)
180055aeb:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
180055af0:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
180055af5:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
180055afa:	48 83 c4 30          	add    $0x30,%rsp
180055afe:	41 5f                	pop    %r15
180055b00:	41 5e                	pop    %r14
180055b02:	41 5d                	pop    %r13
180055b04:	41 5c                	pop    %r12
180055b06:	5f                   	pop    %rdi
180055b07:	c3                   	ret
180055b08:	cc                   	int3
180055b09:	cc                   	int3
180055b0a:	cc                   	int3
180055b0b:	cc                   	int3
180055b0c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180055b11:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
180055b16:	57                   	push   %rdi
180055b17:	48 83 ec 20          	sub    $0x20,%rsp
180055b1b:	41 8a d9             	mov    %r9b,%bl
180055b1e:	bf 13 00 e7 c0       	mov    $0xc0e70013,%edi
180055b23:	e8 28 b8 ff ff       	call   0x180051350
180055b28:	48 8b f0             	mov    %rax,%rsi
180055b2b:	0f b7 00             	movzwl (%rax),%eax
180055b2e:	a8 02                	test   $0x2,%al
180055b30:	75 37                	jne    0x180055b69
180055b32:	8a 46 03             	mov    0x3(%rsi),%al
180055b35:	24 0f                	and    $0xf,%al
180055b37:	3c 01                	cmp    $0x1,%al
180055b39:	77 2e                	ja     0x180055b69
180055b3b:	80 fb 01             	cmp    $0x1,%bl
180055b3e:	74 1a                	je     0x180055b5a
180055b40:	48 8b 01             	mov    (%rcx),%rax
180055b43:	48 8b 80 a8 00 00 00 	mov    0xa8(%rax),%rax
180055b4a:	ff d0                	call   *%rax
180055b4c:	0f 1f 00             	nopl   (%rax)
180055b4f:	84 c0                	test   %al,%al
180055b51:	74 07                	je     0x180055b5a
180055b53:	bf 0b 00 e7 c0       	mov    $0xc0e7000b,%edi
180055b58:	eb 0f                	jmp    0x180055b69
180055b5a:	8a 4c 24 50          	mov    0x50(%rsp),%cl
180055b5e:	80 e3 0f             	and    $0xf,%bl
180055b61:	c0 e1 04             	shl    $0x4,%cl
180055b64:	0a d9                	or     %cl,%bl
180055b66:	88 5e 03             	mov    %bl,0x3(%rsi)
180055b69:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180055b6e:	8b c7                	mov    %edi,%eax
180055b70:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180055b75:	48 83 c4 20          	add    $0x20,%rsp
180055b79:	5f                   	pop    %rdi
180055b7a:	c3                   	ret
180055b7b:	cc                   	int3
180055b7c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180055b81:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180055b86:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180055b8b:	57                   	push   %rdi
180055b8c:	41 56                	push   %r14
180055b8e:	41 57                	push   %r15
180055b90:	48 83 ec 20          	sub    $0x20,%rsp
180055b94:	48 8b 71 08          	mov    0x8(%rcx),%rsi
180055b98:	45 33 ff             	xor    %r15d,%r15d
180055b9b:	48 8b 59 20          	mov    0x20(%rcx),%rbx
180055b9f:	44 8a f2             	mov    %dl,%r14b
180055ba2:	4c 8b d1             	mov    %rcx,%r10
180055ba5:	45 8b c7             	mov    %r15d,%r8d
180055ba8:	41 8b d7             	mov    %r15d,%edx
180055bab:	4c 8b 9e a8 00 00 00 	mov    0xa8(%rsi),%r11
180055bb2:	48 85 db             	test   %rbx,%rbx
180055bb5:	48 8d 46 50          	lea    0x50(%rsi),%rax
180055bb9:	48 8d 4b 58          	lea    0x58(%rbx),%rcx
180055bbd:	48 0f 44 c8          	cmove  %rax,%rcx
180055bc1:	3b 51 10             	cmp    0x10(%rcx),%edx
180055bc4:	73 3a                	jae    0x180055c00
180055bc6:	41 0f b6 42 2b       	movzbl 0x2b(%r10),%eax