// File: /workspace/github_c_makefile_star2_O0/albinoloverats[P]hide/src/hide.c
// Function: process_file
static int process_file(data_info_t data_info, image_info_t image_info, void (*progress_update)(uint64_t, uint64_t))
{
	errno = EXIT_SUCCESS;

	int64_t f = 0;
	uint8_t *map = NULL;

	if ((f = open(data_info.file, data_info.hide ? O_RDONLY : (O_RDWR | O_CREAT), S_IRUSR | S_IWUSR)) < 0)
		die("Could not open %s", data_info.file);
	if (data_info.hide && (map = mmap(NULL, ntohll(data_info.size), PROT_READ, MAP_SHARED, f, 0)) == MAP_FAILED)
		die("Could not map file %s into memory", data_info.file);

	uint8_t *z = (uint8_t *)&data_info.size;
	for (uint64_t i = 0, y = 0; y < image_info.height; y++)
	{
		uint8_t *row = image_info.buffer[y];
		for (uint64_t x = 0; x < image_info.width; x++)
		{
			uint8_t *ptr = &(row[x * image_info.bpp]);

			if (data_info.hide)
			{
				unsigned char c;
				if (y == 0 && x < sizeof data_info.size && !data_info.fill)
					c = z[x];
				else if (i < ntohll(data_info.size))
					c = map[i];
				else /* TODO use something more secure */
					c = (uint8_t)lrand48();
				ptr[0] = (ptr[0] & 0xF8) | ((c & 0xE0) >> 5); // r 3 lsb
				ptr[1] = (ptr[1] & 0xFC) | ((c & 0x18) >> 3); // g 2 lsb
				ptr[2] = (ptr[2] & 0xF8) |  (c & 0x07);       // b 3 lsb
			}
			else
			{
				unsigned char c = (ptr[0] & 0x07) << 5;
				c |= (ptr[1] & 0x03) << 3;
				c |= (ptr[2] & 0x07);
				if (y == 0 && x < sizeof data_info.size && !data_info.fill)
				{
					z[x] = c;
					if (x == sizeof data_info.size - 1)
					{
						ftruncate(f, ntohll(data_info.size));
						if ((map = mmap(NULL, ntohll(data_info.size), PROT_READ | PROT_WRITE, MAP_SHARED, f, 0)) == MAP_FAILED)
							die("Could not map file %s into memory", data_info.file);
					}
				}
				else if (data_info.fill && map == NULL)
				{
					data_info.size = htonll(image_info.height * image_info.width * image_info.bpp);
					ftruncate(f, ntohll(data_info.size));
					if ((map = mmap(NULL, ntohll(data_info.size), PROT_READ | PROT_WRITE, MAP_SHARED, f, 0)) == MAP_FAILED)
						die("Could not map file %s into memory", data_info.file);
					map[i] = c;
					errno = EXIT_SUCCESS;
				}
				else
					map[i] = c;
			}
			if (y > 0 || x >= sizeof data_info.size)
			{
				i++;
				if (progress_update)
					progress_update(i, ntohll(data_info.size));
			}
			if (map && i >= ntohll(data_info.size) && !data_info.fill)
				goto done;
		}
	}

done:
	munmap(map, ntohll(data_info.size));
	close(f);
	return errno;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
leaq 0x28(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
movq %rdi, -0x8(%rbp)
callq 0x2060
movq %rax, %rcx
movq -0x58(%rbp), %rax
movl $0x0, (%rcx)
movq $0x0, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq (%rax), %rdi
movb 0x10(%rax), %cl
movl $0x42, %esi
xorl %eax, %eax
testb $0x1, %cl
cmovnel %eax, %esi
movl $0x180, %edx            # imm = 0x180
movb $0x0, %al
callq 0x22f0
cltq
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
jge 0x2d8e
movq -0x58(%rbp), %rax
movq (%rax), %rsi
leaq 0x342e(%rip), %rdi      # 0x61b5
movb $0x0, %al
callq 0x3ed0
movq -0x58(%rbp), %rax
testb $0x1, 0x10(%rax)
je 0x2e7b
movq -0x58(%rbp), %rax
movabsq $-0x100000000000000, %rsi # imm = 0xFF00000000000000
andq 0x8(%rax), %rsi
shrq $0x38, %rsi
movabsq $0xff000000000000, %rcx # imm = 0xFF000000000000
andq 0x8(%rax), %rcx
shrq $0x28, %rcx
orq %rcx, %rsi
movabsq $0xff0000000000, %rcx   # imm = 0xFF0000000000
andq 0x8(%rax), %rcx
shrq $0x18, %rcx
orq %rcx, %rsi
movabsq $0xff00000000, %rcx     # imm = 0xFF00000000
andq 0x8(%rax), %rcx
shrq $0x8, %rcx
orq %rcx, %rsi
movabsq $0xff000000, %rcx       # imm = 0xFF000000
andq 0x8(%rax), %rcx
shlq $0x8, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rcx
andq $0xff0000, %rcx         # imm = 0xFF0000
shlq $0x18, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rcx
andq $0xff00, %rcx           # imm = 0xFF00
shlq $0x28, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rax
andq $0xff, %rax
shlq $0x38, %rax
orq %rax, %rsi
movq -0x10(%rbp), %rax
movl %eax, %r8d
xorl %eax, %eax
movl %eax, %r9d
movl $0x1, %ecx
movq %r9, %rdi
movl %ecx, %edx
callq 0x2240
movq %rax, -0x18(%rbp)
movq $-0x1, %rcx
cmpq %rcx, %rax
jne 0x2e7b
movq -0x58(%rbp), %rax
movq (%rax), %rsi
leaq 0x3353(%rip), %rdi      # 0x61c7
movb $0x0, %al
callq 0x3ed0
movq -0x58(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x60(%rbp), %rcx
movq -0x30(%rbp), %rax
cmpq 0x28(%rcx), %rax
jae 0x370a
movq -0x60(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x38(%rbp)
movq $0x0, -0x40(%rbp)
movq -0x60(%rbp), %rcx
movq -0x40(%rbp), %rax
cmpq 0x30(%rcx), %rax
jae 0x36f7
movq -0x58(%rbp), %rax
movq -0x60(%rbp), %rsi
movq -0x38(%rbp), %rcx
movq -0x40(%rbp), %rdx
movzwl 0x38(%rsi), %esi
imulq %rsi, %rdx
addq %rdx, %rcx
movq %rcx, -0x48(%rbp)
testb $0x1, 0x10(%rax)
je 0x3057
cmpq $0x0, -0x30(%rbp)
jne 0x2f2b
cmpq $0x8, -0x40(%rbp)
jae 0x2f2b
movq -0x58(%rbp), %rax
testb $0x1, 0x11(%rax)
jne 0x2f2b
movq -0x20(%rbp), %rax
movq -0x40(%rbp), %rcx
movb (%rax,%rcx), %al
movb %al, -0x49(%rbp)
jmp 0x2fee
movq -0x58(%rbp), %rdx
movq -0x28(%rbp), %rax
movabsq $-0x100000000000000, %rcx # imm = 0xFF00000000000000
andq 0x8(%rdx), %rcx
shrq $0x38, %rcx
movabsq $0xff000000000000, %rsi # imm = 0xFF000000000000
andq 0x8(%rdx), %rsi
shrq $0x28, %rsi
orq %rsi, %rcx
movabsq $0xff0000000000, %rsi   # imm = 0xFF0000000000
andq 0x8(%rdx), %rsi
shrq $0x18, %rsi
orq %rsi, %rcx
movabsq $0xff00000000, %rsi     # imm = 0xFF00000000
andq 0x8(%rdx), %rsi
shrq $0x8, %rsi
orq %rsi, %rcx
movabsq $0xff000000, %rsi       # imm = 0xFF000000
andq 0x8(%rdx), %rsi
shlq $0x8, %rsi
orq %rsi, %rcx
movq 0x8(%rdx), %rsi
andq $0xff0000, %rsi         # imm = 0xFF0000
shlq $0x18, %rsi
orq %rsi, %rcx
movq 0x8(%rdx), %rsi
andq $0xff00, %rsi           # imm = 0xFF00
shlq $0x28, %rsi
orq %rsi, %rcx
movq 0x8(%rdx), %rdx
andq $0xff, %rdx
shlq $0x38, %rdx
orq %rdx, %rcx
cmpq %rcx, %rax
jae 0x2fe4
movq -0x18(%rbp), %rax
movq -0x28(%rbp), %rcx
movb (%rax,%rcx), %al
movb %al, -0x49(%rbp)
jmp 0x2fec
callq 0x2280
movb %al, -0x49(%rbp)
jmp 0x2fee
movq -0x48(%rbp), %rax
movzbl (%rax), %eax
andl $0xf8, %eax
movzbl -0x49(%rbp), %ecx
andl $0xe0, %ecx
sarl $0x5, %ecx
orl %ecx, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x48(%rbp), %rax
movzbl 0x1(%rax), %eax
andl $0xfc, %eax
movzbl -0x49(%rbp), %ecx
andl $0x18, %ecx
sarl $0x3, %ecx
orl %ecx, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x48(%rbp), %rax
movzbl 0x2(%rax), %eax
andl $0xf8, %eax
movzbl -0x49(%rbp), %ecx
andl $0x7, %ecx
orl %ecx, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
jmp 0x354f
movq -0x48(%rbp), %rax
movzbl (%rax), %eax
andl $0x7, %eax
shll $0x5, %eax
movb %al, -0x4a(%rbp)
movq -0x48(%rbp), %rax
movzbl 0x1(%rax), %ecx
andl $0x3, %ecx
shll $0x3, %ecx
movzbl -0x4a(%rbp), %eax
orl %ecx, %eax
movb %al, -0x4a(%rbp)
movq -0x48(%rbp), %rax
movzbl 0x2(%rax), %ecx
andl $0x7, %ecx
movzbl -0x4a(%rbp), %eax
orl %ecx, %eax
movb %al, -0x4a(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x3262
cmpq $0x8, -0x40(%rbp)
jae 0x3262
movq -0x58(%rbp), %rax
testb $0x1, 0x11(%rax)
jne 0x3262
movb -0x4a(%rbp), %dl
movq -0x20(%rbp), %rax
movq -0x40(%rbp), %rcx
movb %dl, (%rax,%rcx)
cmpq $0x7, -0x40(%rbp)
jne 0x325d
movq -0x58(%rbp), %rax
movq -0x10(%rbp), %rcx
movl %ecx, %edi
movabsq $-0x100000000000000, %rsi # imm = 0xFF00000000000000
andq 0x8(%rax), %rsi
shrq $0x38, %rsi
movabsq $0xff000000000000, %rcx # imm = 0xFF000000000000
andq 0x8(%rax), %rcx
shrq $0x28, %rcx
orq %rcx, %rsi
movabsq $0xff0000000000, %rcx   # imm = 0xFF0000000000
andq 0x8(%rax), %rcx
shrq $0x18, %rcx
orq %rcx, %rsi
movabsq $0xff00000000, %rcx     # imm = 0xFF00000000
andq 0x8(%rax), %rcx
shrq $0x8, %rcx
orq %rcx, %rsi
movabsq $0xff000000, %rcx       # imm = 0xFF000000
andq 0x8(%rax), %rcx
shlq $0x8, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rcx
andq $0xff0000, %rcx         # imm = 0xFF0000
shlq $0x18, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rcx
andq $0xff00, %rcx           # imm = 0xFF00
shlq $0x28, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rax
andq $0xff, %rax
shlq $0x38, %rax
orq %rax, %rsi
callq 0x22d0
movq -0x58(%rbp), %rax
movabsq $-0x100000000000000, %rsi # imm = 0xFF00000000000000
andq 0x8(%rax), %rsi
shrq $0x38, %rsi
movabsq $0xff000000000000, %rcx # imm = 0xFF000000000000
andq 0x8(%rax), %rcx
shrq $0x28, %rcx
orq %rcx, %rsi
movabsq $0xff0000000000, %rcx   # imm = 0xFF0000000000
andq 0x8(%rax), %rcx
shrq $0x18, %rcx
orq %rcx, %rsi
movabsq $0xff00000000, %rcx     # imm = 0xFF00000000
andq 0x8(%rax), %rcx
shrq $0x8, %rcx
orq %rcx, %rsi
movabsq $0xff000000, %rcx       # imm = 0xFF000000
andq 0x8(%rax), %rcx
shlq $0x8, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rcx
andq $0xff0000, %rcx         # imm = 0xFF0000
shlq $0x18, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rcx
andq $0xff00, %rcx           # imm = 0xFF00
shlq $0x28, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rax
andq $0xff, %rax
shlq $0x38, %rax
orq %rax, %rsi
movq -0x10(%rbp), %rax
movl %eax, %r8d
xorl %eax, %eax
movl %eax, %r9d
movl $0x3, %edx
movl $0x1, %ecx
movq %r9, %rdi
callq 0x2240
movq %rax, -0x18(%rbp)
movq $-0x1, %rcx
cmpq %rcx, %rax
jne 0x325b
movq -0x58(%rbp), %rax
movq (%rax), %rsi
leaq 0x2f73(%rip), %rdi      # 0x61c7
movb $0x0, %al
callq 0x3ed0
jmp 0x325d
jmp 0x354d
movq -0x58(%rbp), %rax
testb $0x1, 0x11(%rax)
je 0x353d
cmpq $0x0, -0x18(%rbp)
jne 0x353d
movq -0x58(%rbp), %rax
movq -0x60(%rbp), %rsi
movq 0x28(%rsi), %rcx
imulq 0x30(%rsi), %rcx
movzwl 0x38(%rsi), %edx
imulq %rdx, %rcx
movabsq $-0x100000000000000, %rdx # imm = 0xFF00000000000000
andq %rdx, %rcx
shrq $0x38, %rcx
movq 0x28(%rsi), %rdx
imulq 0x30(%rsi), %rdx
movzwl 0x38(%rsi), %edi
imulq %rdi, %rdx
movabsq $0xff000000000000, %rdi # imm = 0xFF000000000000
andq %rdi, %rdx
shrq $0x28, %rdx
orq %rdx, %rcx
movq 0x28(%rsi), %rdx
imulq 0x30(%rsi), %rdx
movzwl 0x38(%rsi), %edi
imulq %rdi, %rdx
movabsq $0xff0000000000, %rdi   # imm = 0xFF0000000000
andq %rdi, %rdx
shrq $0x18, %rdx
orq %rdx, %rcx
movq 0x28(%rsi), %rdx
imulq 0x30(%rsi), %rdx
movzwl 0x38(%rsi), %edi
imulq %rdi, %rdx
movabsq $0xff00000000, %rdi     # imm = 0xFF00000000
andq %rdi, %rdx
shrq $0x8, %rdx
orq %rdx, %rcx
movq 0x28(%rsi), %rdx
imulq 0x30(%rsi), %rdx
movzwl 0x38(%rsi), %edi
imulq %rdi, %rdx
movabsq $0xff000000, %rdi       # imm = 0xFF000000
andq %rdi, %rdx
shlq $0x8, %rdx
orq %rdx, %rcx
movq 0x28(%rsi), %rdx
imulq 0x30(%rsi), %rdx
movzwl 0x38(%rsi), %edi
imulq %rdi, %rdx
andq $0xff0000, %rdx         # imm = 0xFF0000
shlq $0x18, %rdx
orq %rdx, %rcx
movq 0x28(%rsi), %rdx
imulq 0x30(%rsi), %rdx
movzwl 0x38(%rsi), %edi
imulq %rdi, %rdx
andq $0xff00, %rdx           # imm = 0xFF00
shlq $0x28, %rdx
orq %rdx, %rcx
movq 0x28(%rsi), %rdx
imulq 0x30(%rsi), %rdx
movzwl 0x38(%rsi), %esi
imulq %rsi, %rdx
andq $0xff, %rdx
shlq $0x38, %rdx
orq %rdx, %rcx
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rcx
movl %ecx, %edi
movabsq $-0x100000000000000, %rsi # imm = 0xFF00000000000000
andq 0x8(%rax), %rsi
shrq $0x38, %rsi
movabsq $0xff000000000000, %rcx # imm = 0xFF000000000000
andq 0x8(%rax), %rcx
shrq $0x28, %rcx
orq %rcx, %rsi
movabsq $0xff0000000000, %rcx   # imm = 0xFF0000000000
andq 0x8(%rax), %rcx
shrq $0x18, %rcx
orq %rcx, %rsi
movabsq $0xff00000000, %rcx     # imm = 0xFF00000000
andq 0x8(%rax), %rcx
shrq $0x8, %rcx
orq %rcx, %rsi
movabsq $0xff000000, %rcx       # imm = 0xFF000000
andq 0x8(%rax), %rcx
shlq $0x8, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rcx
andq $0xff0000, %rcx         # imm = 0xFF0000
shlq $0x18, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rcx
andq $0xff00, %rcx           # imm = 0xFF00
shlq $0x28, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rax
andq $0xff, %rax
shlq $0x38, %rax
orq %rax, %rsi
callq 0x22d0
movq -0x58(%rbp), %rax
movabsq $-0x100000000000000, %rsi # imm = 0xFF00000000000000
andq 0x8(%rax), %rsi
shrq $0x38, %rsi
movabsq $0xff000000000000, %rcx # imm = 0xFF000000000000
andq 0x8(%rax), %rcx
shrq $0x28, %rcx
orq %rcx, %rsi
movabsq $0xff0000000000, %rcx   # imm = 0xFF0000000000
andq 0x8(%rax), %rcx
shrq $0x18, %rcx
orq %rcx, %rsi
movabsq $0xff00000000, %rcx     # imm = 0xFF00000000
andq 0x8(%rax), %rcx
shrq $0x8, %rcx
orq %rcx, %rsi
movabsq $0xff000000, %rcx       # imm = 0xFF000000
andq 0x8(%rax), %rcx
shlq $0x8, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rcx
andq $0xff0000, %rcx         # imm = 0xFF0000
shlq $0x18, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rcx
andq $0xff00, %rcx           # imm = 0xFF00
shlq $0x28, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rax
andq $0xff, %rax
shlq $0x38, %rax
orq %rax, %rsi
movq -0x10(%rbp), %rax
movl %eax, %r8d
xorl %eax, %eax
movl %eax, %r9d
movl $0x3, %edx
movl $0x1, %ecx
movq %r9, %rdi
callq 0x2240
movq %rax, -0x18(%rbp)
movq $-0x1, %rcx
cmpq %rcx, %rax
jne 0x3522
movq -0x58(%rbp), %rax
movq (%rax), %rsi
leaq 0x2cac(%rip), %rdi      # 0x61c7
movb $0x0, %al
callq 0x3ed0
movb -0x4a(%rbp), %dl
movq -0x18(%rbp), %rax
movq -0x28(%rbp), %rcx
movb %dl, (%rax,%rcx)
callq 0x2060
movl $0x0, (%rax)
jmp 0x354b
movb -0x4a(%rbp), %dl
movq -0x18(%rbp), %rax
movq -0x28(%rbp), %rcx
movb %dl, (%rax,%rcx)
jmp 0x354d
jmp 0x354f
cmpq $0x0, -0x30(%rbp)
ja 0x3561
cmpq $0x8, -0x40(%rbp)
jb 0x3624
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x3622
movq -0x58(%rbp), %rcx
movq -0x8(%rbp), %rax
movq -0x28(%rbp), %rdi
movabsq $-0x100000000000000, %rsi # imm = 0xFF00000000000000
andq 0x8(%rcx), %rsi
shrq $0x38, %rsi
movabsq $0xff000000000000, %rdx # imm = 0xFF000000000000
andq 0x8(%rcx), %rdx
shrq $0x28, %rdx
orq %rdx, %rsi
movabsq $0xff0000000000, %rdx   # imm = 0xFF0000000000
andq 0x8(%rcx), %rdx
shrq $0x18, %rdx
orq %rdx, %rsi
movabsq $0xff00000000, %rdx     # imm = 0xFF00000000
andq 0x8(%rcx), %rdx
shrq $0x8, %rdx
orq %rdx, %rsi
movabsq $0xff000000, %rdx       # imm = 0xFF000000
andq 0x8(%rcx), %rdx
shlq $0x8, %rdx
orq %rdx, %rsi
movq 0x8(%rcx), %rdx
andq $0xff0000, %rdx         # imm = 0xFF0000
shlq $0x18, %rdx
orq %rdx, %rsi
movq 0x8(%rcx), %rdx
andq $0xff00, %rdx           # imm = 0xFF00
shlq $0x28, %rdx
orq %rdx, %rsi
movq 0x8(%rcx), %rcx
andq $0xff, %rcx
shlq $0x38, %rcx
orq %rcx, %rsi
callq *%rax
jmp 0x3624
cmpq $0x0, -0x18(%rbp)
je 0x36e4
movq -0x58(%rbp), %rdx
movq -0x28(%rbp), %rax
movabsq $-0x100000000000000, %rcx # imm = 0xFF00000000000000
andq 0x8(%rdx), %rcx
shrq $0x38, %rcx
movabsq $0xff000000000000, %rsi # imm = 0xFF000000000000
andq 0x8(%rdx), %rsi
shrq $0x28, %rsi
orq %rsi, %rcx
movabsq $0xff0000000000, %rsi   # imm = 0xFF0000000000
andq 0x8(%rdx), %rsi
shrq $0x18, %rsi
orq %rsi, %rcx
movabsq $0xff00000000, %rsi     # imm = 0xFF00000000
andq 0x8(%rdx), %rsi
shrq $0x8, %rsi
orq %rsi, %rcx
movabsq $0xff000000, %rsi       # imm = 0xFF000000
andq 0x8(%rdx), %rsi
shlq $0x8, %rsi
orq %rsi, %rcx
movq 0x8(%rdx), %rsi
andq $0xff0000, %rsi         # imm = 0xFF0000
shlq $0x18, %rsi
orq %rsi, %rcx
movq 0x8(%rdx), %rsi
andq $0xff00, %rsi           # imm = 0xFF00
shlq $0x28, %rsi
orq %rsi, %rcx
movq 0x8(%rdx), %rdx
andq $0xff, %rdx
shlq $0x38, %rdx
orq %rdx, %rcx
cmpq %rcx, %rax
jb 0x36e4
movq -0x58(%rbp), %rax
testb $0x1, 0x11(%rax)
jne 0x36e4
jmp 0x370c
jmp 0x36e6
movq -0x40(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x40(%rbp)
jmp 0x2ec5
jmp 0x36f9
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
jmp 0x2e97
jmp 0x370c
movq -0x58(%rbp), %rax
movq -0x18(%rbp), %rdi
movabsq $-0x100000000000000, %rsi # imm = 0xFF00000000000000
andq 0x8(%rax), %rsi
shrq $0x38, %rsi
movabsq $0xff000000000000, %rcx # imm = 0xFF000000000000
andq 0x8(%rax), %rcx
shrq $0x28, %rcx
orq %rcx, %rsi
movabsq $0xff0000000000, %rcx   # imm = 0xFF0000000000
andq 0x8(%rax), %rcx
shrq $0x18, %rcx
orq %rcx, %rsi
movabsq $0xff00000000, %rcx     # imm = 0xFF00000000
andq 0x8(%rax), %rcx
shrq $0x8, %rcx
orq %rcx, %rsi
movabsq $0xff000000, %rcx       # imm = 0xFF000000
andq 0x8(%rax), %rcx
shlq $0x8, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rcx
andq $0xff0000, %rcx         # imm = 0xFF0000
shlq $0x18, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rcx
andq $0xff00, %rcx           # imm = 0xFF00
shlq $0x28, %rcx
orq %rcx, %rsi
movq 0x8(%rax), %rax
andq $0xff, %rax
shlq $0x38, %rax
orq %rax, %rsi
callq 0x22b0
movq -0x10(%rbp), %rax
movl %eax, %edi
callq 0x2190
callq 0x2060
movl (%rax), %eax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)