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
180055bcb:	41 8b ff             	mov    %r15d,%edi
180055bce:	84 c0                	test   %al,%al
180055bd0:	74 2a                	je     0x180055bfc
180055bd2:	8b e8                	mov    %eax,%ebp
180055bd4:	45 8b c8             	mov    %r8d,%r9d
180055bd7:	49 8b ca             	mov    %r10,%rcx
180055bda:	44 8b c7             	mov    %edi,%r8d
180055bdd:	e8 6e b7 ff ff       	call   0x180051350
180055be2:	45 8d 41 01          	lea    0x1(%r9),%r8d
180055be6:	8a 48 02             	mov    0x2(%rax),%cl
180055be9:	80 e1 0f             	and    $0xf,%cl
180055bec:	80 e9 05             	sub    $0x5,%cl
180055bef:	80 f9 01             	cmp    $0x1,%cl
180055bf2:	45 0f 47 c1          	cmova  %r9d,%r8d
180055bf6:	ff c7                	inc    %edi
180055bf8:	3b fd                	cmp    %ebp,%edi
180055bfa:	72 d8                	jb     0x180055bd4
180055bfc:	ff c2                	inc    %edx
180055bfe:	eb b2                	jmp    0x180055bb2
180055c00:	41 0f b7 42 28       	movzwl 0x28(%r10),%eax
180055c05:	66 83 e0 40          	and    $0x40,%ax
180055c09:	45 84 f6             	test   %r14b,%r14b
180055c0c:	74 3d                	je     0x180055c4b
180055c0e:	66 85 c0             	test   %ax,%ax
180055c11:	75 77                	jne    0x180055c8a
180055c13:	41 8b c8             	mov    %r8d,%ecx
180055c16:	49 01 8b 38 01 00 00 	add    %rcx,0x138(%r11)
180055c1d:	49 8b 42 20          	mov    0x20(%r10),%rax
180055c21:	48 85 c0             	test   %rax,%rax
180055c24:	74 06                	je     0x180055c2c
180055c26:	48 83 c0 38          	add    $0x38,%rax
180055c2a:	eb 08                	jmp    0x180055c34
180055c2c:	49 8b 42 08          	mov    0x8(%r10),%rax
180055c30:	48 83 c0 30          	add    $0x30,%rax
180055c34:	48 8b 40 08          	mov    0x8(%rax),%rax
180055c38:	48 0f af c1          	imul   %rcx,%rax
180055c3c:	49 01 83 58 01 00 00 	add    %rax,0x158(%r11)
180055c43:	66 41 83 4a 28 40    	orw    $0x40,0x28(%r10)
180055c49:	eb 3f                	jmp    0x180055c8a
180055c4b:	66 85 c0             	test   %ax,%ax
180055c4e:	74 3a                	je     0x180055c8a
180055c50:	41 8b c8             	mov    %r8d,%ecx
180055c53:	49 29 8b 38 01 00 00 	sub    %rcx,0x138(%r11)
180055c5a:	49 8b 42 20          	mov    0x20(%r10),%rax
180055c5e:	48 85 c0             	test   %rax,%rax
180055c61:	74 06                	je     0x180055c69
180055c63:	48 83 c0 38          	add    $0x38,%rax
180055c67:	eb 08                	jmp    0x180055c71
180055c69:	49 8b 42 08          	mov    0x8(%r10),%rax
180055c6d:	48 83 c0 30          	add    $0x30,%rax
180055c71:	48 8b 40 08          	mov    0x8(%rax),%rax
180055c75:	48 0f af c1          	imul   %rcx,%rax
180055c79:	49 29 83 58 01 00 00 	sub    %rax,0x158(%r11)
180055c80:	b8 bf ff 00 00       	mov    $0xffbf,%eax
180055c85:	66 41 21 42 28       	and    %ax,0x28(%r10)
180055c8a:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180055c8f:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180055c94:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180055c99:	48 83 c4 20          	add    $0x20,%rsp
180055c9d:	41 5f                	pop    %r15
180055c9f:	41 5e                	pop    %r14
180055ca1:	5f                   	pop    %rdi
180055ca2:	c3                   	ret
180055ca3:	cc                   	int3
180055ca4:	48 8b c4             	mov    %rsp,%rax
180055ca7:	48 89 58 08          	mov    %rbx,0x8(%rax)
180055cab:	48 89 68 10          	mov    %rbp,0x10(%rax)
180055caf:	48 89 70 18          	mov    %rsi,0x18(%rax)
180055cb3:	48 89 78 20          	mov    %rdi,0x20(%rax)
180055cb7:	41 56                	push   %r14
180055cb9:	48 83 ec 20          	sub    $0x20,%rsp
180055cbd:	33 db                	xor    %ebx,%ebx
180055cbf:	49 8b f1             	mov    %r9,%rsi
180055cc2:	4d 8b d0             	mov    %r8,%r10
180055cc5:	48 8b f9             	mov    %rcx,%rdi
180055cc8:	83 fa 18             	cmp    $0x18,%edx
180055ccb:	0f 8f b5 02 00 00    	jg     0x180055f86
180055cd1:	0f 84 a0 02 00 00    	je     0x180055f77
180055cd7:	83 fa 0f             	cmp    $0xf,%edx
180055cda:	0f 8f 88 01 00 00    	jg     0x180055e68
180055ce0:	83 fa 0e             	cmp    $0xe,%edx
180055ce3:	0f 8d 61 05 00 00    	jge    0x18005624a
180055ce9:	83 fa 01             	cmp    $0x1,%edx
180055cec:	0f 84 69 01 00 00    	je     0x180055e5b
180055cf2:	83 fa 03             	cmp    $0x3,%edx
180055cf5:	0f 84 51 01 00 00    	je     0x180055e4c
180055cfb:	83 fa 04             	cmp    $0x4,%edx
180055cfe:	0f 84 39 01 00 00    	je     0x180055e3d
180055d04:	83 fa 05             	cmp    $0x5,%edx
180055d07:	0f 84 b0 00 00 00    	je     0x180055dbd
180055d0d:	83 fa 06             	cmp    $0x6,%edx
180055d10:	74 5c                	je     0x180055d6e
180055d12:	0f 8e e2 03 00 00    	jle    0x1800560fa
180055d18:	83 fa 0b             	cmp    $0xb,%edx
180055d1b:	0f 8e 29 05 00 00    	jle    0x18005624a
180055d21:	83 fa 0c             	cmp    $0xc,%edx
180055d24:	74 39                	je     0x180055d5f
180055d26:	83 fa 0d             	cmp    $0xd,%edx
180055d29:	0f 85 cb 03 00 00    	jne    0x1800560fa
180055d2f:	48 8b 41 40          	mov    0x40(%rcx),%rax
180055d33:	48 05 f8 00 00 00    	add    $0xf8,%rax
180055d39:	48 8b 08             	mov    (%rax),%rcx
180055d3c:	48 3b c8             	cmp    %rax,%rcx
180055d3f:	0f 84 05 05 00 00    	je     0x18005624a
180055d45:	48 8b 41 e8          	mov    -0x18(%rcx),%rax
180055d49:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
180055d4e:	48 3b 01             	cmp    (%rcx),%rax
180055d51:	0f 83 f3 04 00 00    	jae    0x18005624a
180055d57:	48 89 01             	mov    %rax,(%rcx)
180055d5a:	e9 eb 04 00 00       	jmp    0x18005624a
180055d5f:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180055d64:	e8 13 12 00 00       	call   0x180056f7c
180055d69:	e9 da 04 00 00       	jmp    0x180056248
180055d6e:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
180055d73:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
180055d77:	8b 41 04             	mov    0x4(%rcx),%eax
180055d7a:	83 f8 01             	cmp    $0x1,%eax
180055d7d:	74 22                	je     0x180055da1
180055d7f:	3d 11 00 00 80       	cmp    $0x80000011,%eax
180055d84:	75 06                	jne    0x180055d8c
180055d86:	80 7f 2b 01          	cmpb   $0x1,0x2b(%rdi)
180055d8a:	74 07                	je     0x180055d93
180055d8c:	bb bb 00 00 c0       	mov    $0xc00000bb,%ebx
180055d91:	eb 21                	jmp    0x180055db4
180055d93:	38 5d 58             	cmp    %bl,0x58(%rbp)
180055d96:	74 09                	je     0x180055da1
180055d98:	f7 41 08 00 00 00 10 	testl  $0x10000000,0x8(%rcx)
180055d9f:	75 13                	jne    0x180055db4
180055da1:	4c 8b cd             	mov    %rbp,%r9
180055da4:	4c 8b c6             	mov    %rsi,%r8
180055da7:	49 8b d2             	mov    %r10,%rdx
180055daa:	48 8b cf             	mov    %rdi,%rcx
180055dad:	e8 06 08 00 00       	call   0x1800565b8
180055db2:	8b d8                	mov    %eax,%ebx
180055db4:	48 01 75 50          	add    %rsi,0x50(%rbp)
180055db8:	e9 8d 04 00 00       	jmp    0x18005624a
180055dbd:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
180055dc2:	8b 11                	mov    (%rcx),%edx
180055dc4:	4c 8b 41 08          	mov    0x8(%rcx),%r8
180055dc8:	83 ea 01             	sub    $0x1,%edx
180055dcb:	74 59                	je     0x180055e26
180055dcd:	83 ea 01             	sub    $0x1,%edx
180055dd0:	74 29                	je     0x180055dfb
180055dd2:	83 fa 04             	cmp    $0x4,%edx
180055dd5:	74 0a                	je     0x180055de1
180055dd7:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
180055ddc:	e9 69 04 00 00       	jmp    0x18005624a
180055de1:	48 8b 07             	mov    (%rdi),%rax
180055de4:	49 8b d0             	mov    %r8,%rdx
180055de7:	48 8b cf             	mov    %rdi,%rcx
180055dea:	48 8b 80 00 01 00 00 	mov    0x100(%rax),%rax
180055df1:	ff d0                	call   *%rax
180055df3:	0f 1f 00             	nopl   (%rax)
180055df6:	e9 4f 04 00 00       	jmp    0x18005624a
180055dfb:	48 8b 07             	mov    (%rdi),%rax
180055dfe:	48 8b cf             	mov    %rdi,%rcx
180055e01:	4d 85 c0             	test   %r8,%r8
180055e04:	75 0c                	jne    0x180055e12
180055e06:	48 8b 80 f8 00 00 00 	mov    0xf8(%rax),%rax
180055e0d:	e9 d1 03 00 00       	jmp    0x1800561e3
180055e12:	48 8b 80 f0 00 00 00 	mov    0xf0(%rax),%rax
180055e19:	49 8b d0             	mov    %r8,%rdx
180055e1c:	ff d0                	call   *%rax
180055e1e:	0f 1f 00             	nopl   (%rax)
180055e21:	e9 22 04 00 00       	jmp    0x180056248
180055e26:	48 8b 07             	mov    (%rdi),%rax
180055e29:	48 8b cf             	mov    %rdi,%rcx
180055e2c:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
180055e33:	ff d0                	call   *%rax
180055e35:	0f 1f 00             	nopl   (%rax)
180055e38:	e9 0d 04 00 00       	jmp    0x18005624a
180055e3d:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180055e42:	e8 21 04 00 00       	call   0x180056268
180055e47:	e9 fc 03 00 00       	jmp    0x180056248
180055e4c:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx