// File: /workspace/github_c_makefile_star2_O0/mikecat[P]x86_interpreter/pe_libs.c
// Function: exec_msvcrt
static uint32_t exec_msvcrt(uint32_t regs[], const char* func_name) {
#define CALL_DMEM_LIBC(name) \
	if (dmem_libc_ ## name (&regs[EAX], regs[ESP])) { \
		return 0; \
	} else { \
		fprintf(stderr, "failure in executing " #name "() in msvcrt.dll\n"); \
		return PE_LIB_EXEC_FAILED; \
	}

	if (strcmp(func_name, "__set_app_type") == 0) {
		/* 無視 */
		return 0;
	} else if (strcmp(func_name, "__getmainargs") == 0) {
		uint32_t p_argc, p_argv, p_env;
		int fail = 0;
		fail = !dmem_get_args(regs[ESP], 3, &p_argc, &p_argv, &p_env);
		fail = fail || !dmem_write_uint(p_argc, argc_value, 4);
		fail = fail || !dmem_write_uint(p_argv, argv_value, 4);
		fail = fail || !dmem_write_uint(p_env, WORK_ENV0, 4);
		regs[EAX] = fail ? -1 : 0;
		return 0;
	} else if (strcmp(func_name, "__p__fmode") == 0) {
		regs[EAX] = WORK_FMODE;
		return 0;
	} else if (strcmp(func_name, "atexit") == 0) {
		regs[EAX] = 1;
		return 0;
	} else if (strcmp(func_name, "__p__environ") == 0) {
		regs[EAX] = WORK_ENV0;
		return 0;
	} else if (strcmp(func_name, "puts") == 0) {
		CALL_DMEM_LIBC(puts)
	} else if (strcmp(func_name, "_cexit") == 0) {
		/* atexitで登録した関数を実行 */
		/* バッファをフラッシュ */
		/* ストリームを閉じる */
		return 0;
	} else if (strcmp(func_name, "getenv") == 0) {
		regs[EAX] = 0;
		return 0;
	} else if (strcmp(func_name, "setlocale") == 0) {
		regs[EAX] = 0;
		return 0;
	} else if (strcmp(func_name, "_flsbuf") == 0) {
		if (dmem_flsbuf(&regs[EAX], regs[ESP])) {
			return 0;
		} else {
			fprintf(stderr, "failure in executing _flsbuf() in msvcrt.dll\n");
			return PE_LIB_EXEC_FAILED;
		}
	} else if (strcmp(func_name, "exit") == 0) {
		/* atexitで登録した関数を実行 */
		/* バッファをフラッシュ */
		/* ストリームを閉じる */
		return PE_LIB_EXEC_EXIT;
	} else if (strcmp(func_name, "fputs") == 0) {
		CALL_DMEM_LIBC(fputs)
	} else if (strcmp(func_name, "strchr") == 0) {
		CALL_DMEM_LIBC(strchr)
	} else if (strcmp(func_name, "strncmp") == 0) {
		CALL_DMEM_LIBC(strncmp)
	} else if (strcmp(func_name, "strlen") == 0) {
		CALL_DMEM_LIBC(strlen)
	} else if (strcmp(func_name, "printf") == 0) {
		CALL_DMEM_LIBC(printf)
	} else if (strcmp(func_name, "fprintf") == 0) {
		CALL_DMEM_LIBC(fprintf)
	} else if (strcmp(func_name, "vfprintf") == 0) {
		CALL_DMEM_LIBC(vfprintf)
	} else if (strcmp(func_name, "_errno") == 0) {
		regs[EAX] = WORK_ERRNO;
		return 0;
	} else if (strcmp(func_name, "fflush") == 0) {
		CALL_DMEM_LIBC(fflush)
	} else if (strcmp(func_name, "strcmp") == 0) {
		CALL_DMEM_LIBC(strcmp)
	} else if (strcmp(func_name, "malloc") == 0) {
		CALL_DMEM_LIBC(malloc)
	} else if (strcmp(func_name, "_isatty") == 0) {
		regs[EAX] = 0;
		return 0;
	} else if (strcmp(func_name, "_setmode") == 0) {
		regs[EAX] = -1;
		return 0;
	} else if (strcmp(func_name, "strcpy") == 0) {
		CALL_DMEM_LIBC(strcpy)
	} else if (strcmp(func_name, "memcpy") == 0) {
		CALL_DMEM_LIBC(memcpy)
	} else if (strcmp(func_name, "free") == 0) {
		CALL_DMEM_LIBC(free)
	} else if (strcmp(func_name, "strncpy") == 0) {
		CALL_DMEM_LIBC(strncpy)
	} else if (strcmp(func_name, "memset") == 0) {
		CALL_DMEM_LIBC(memset)
	} else if (strcmp(func_name, "realloc") == 0) {
		CALL_DMEM_LIBC(realloc)
	} else if (strcmp(func_name, "sprintf") == 0) {
		CALL_DMEM_LIBC(sprintf)
	} else if (strcmp(func_name, "fread") == 0) {
		CALL_DMEM_LIBC(fread)
	} else if (strcmp(func_name, "fclose") == 0) {
		CALL_DMEM_LIBC(fclose)
	} else if (strcmp(func_name, "fopen") == 0) {
		CALL_DMEM_LIBC(fopen)
	} else if (strcmp(func_name, "fwrite") == 0) {
		CALL_DMEM_LIBC(fwrite)
	} else if (strcmp(func_name, "_get_osfhandle") == 0) {
		regs[EAX] = -1;
		return 0;
	} else if (strcmp(func_name, "_filbuf") == 0) {
		if (dmem_filbuf(&regs[EAX], regs[ESP])) {
			return 0;
		} else {
			fprintf(stderr, "failure in executing _filbuf() in msvcrt.dll\n");
			return PE_LIB_EXEC_FAILED;
		}
	} else if (strcmp(func_name, "_read") == 0) {
		if (dmem_read(&regs[EAX], regs[ESP])) {
			return 0;
		} else {
			fprintf(stderr, "failure in executing _read() in msvcrt.dll\n");
			return PE_LIB_EXEC_FAILED;
		}
	} else if (strcmp(func_name, "localtime") == 0) {
		CALL_DMEM_LIBC(localtime)
	} else if (strcmp(func_name, "_tzset") == 0) {
		/* 無視 */
		return 0;
	} else if (strcmp(func_name, "strftime") == 0) {
		CALL_DMEM_LIBC(strftime)
	} else if (strcmp(func_name, "calloc") == 0) {
		CALL_DMEM_LIBC(calloc)
	} else {
		fprintf(stderr, "unimplemented function %s() in msvcrt.dll called.\n", func_name);
		return PE_LIB_EXEC_FAILED;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x358f(%rip), %rsi      # 0x1266a
callq 0x10c0
cmpl $0x0, %eax
jne 0xf0f1
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x357d(%rip), %rsi      # 0x12679
callq 0x10c0
cmpl $0x0, %eax
jne 0xf201
movl $0x0, -0x28(%rbp)
movq -0x10(%rbp), %rax
movl 0x10(%rax), %edi
movl $0x3, %esi
leaq -0x1c(%rbp), %rdx
leaq -0x20(%rbp), %rcx
leaq -0x24(%rbp), %r8
movb $0x0, %al
callq 0x8280
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x28(%rbp)
movb $0x1, %al
cmpl $0x0, -0x28(%rbp)
movb %al, -0x29(%rbp)
jne 0xf169
movl -0x1c(%rbp), %edi
movl 0x10d2c(%rip), %esi     # 0x1fe80
movl $0x4, %edx
callq 0x8070
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x29(%rbp)
movb -0x29(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x28(%rbp)
movb $0x1, %al
cmpl $0x0, -0x28(%rbp)
movb %al, -0x2a(%rbp)
jne 0xf19d
movl -0x20(%rbp), %edi
movl 0x10cfc(%rip), %esi     # 0x1fe84
movl $0x4, %edx
callq 0x8070
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x2a(%rbp)
movb -0x2a(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x28(%rbp)
movb $0x1, %al
cmpl $0x0, -0x28(%rbp)
movb %al, -0x2b(%rbp)
jne 0xf1d4
movl -0x24(%rbp), %edi
movl 0x10cc0(%rip), %esi     # 0x1fe7c
addl $0x8, %esi
movl $0x4, %edx
callq 0x8070
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x2b(%rbp)
movb -0x2b(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %edx
xorl %ecx, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl $0x0, %edx
cmovnel %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x347b(%rip), %rsi      # 0x12687
callq 0x10c0
cmpl $0x0, %eax
jne 0xf231
movl 0x10c60(%rip), %ecx     # 0x1fe7c
addl $0x10, %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3456(%rip), %rsi      # 0x12692
callq 0x10c0
cmpl $0x0, %eax
jne 0xf25c
movq -0x10(%rbp), %rax
movl $0x1, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3432(%rip), %rsi      # 0x12699
callq 0x10c0
cmpl $0x0, %eax
jne 0xf28c
movl 0x10c05(%rip), %ecx     # 0x1fe7c
addl $0x8, %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3489(%rip), %rsi      # 0x12720
callq 0x10c0
cmpl $0x0, %eax
jne 0xf2e6
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xa480
cmpl $0x0, %eax
je 0xf2c2
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5d27(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x33d3(%rip), %rsi      # 0x126a6
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x33e0(%rip), %rsi      # 0x126d1
callq 0x10c0
cmpl $0x0, %eax
jne 0xf307
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x33c6(%rip), %rsi      # 0x126d8
callq 0x10c0
cmpl $0x0, %eax
jne 0xf332
movq -0x10(%rbp), %rax
movl $0x0, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x33a2(%rip), %rsi      # 0x126df
callq 0x10c0
cmpl $0x0, %eax
jne 0xf35d
movq -0x10(%rbp), %rax
movl $0x0, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3381(%rip), %rsi      # 0x126e9
callq 0x10c0
cmpl $0x0, %eax
jne 0xf3b7
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xa870
cmpl $0x0, %eax
je 0xf393
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5c56(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x334d(%rip), %rsi      # 0x126f1
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3311(%rip), %rsi      # 0x126d3
callq 0x10c0
cmpl $0x0, %eax
jne 0xf3d8
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x333c(%rip), %rsi      # 0x1271f
callq 0x10c0
cmpl $0x0, %eax
jne 0xf432
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xa3c0
cmpl $0x0, %eax
je 0xf40e
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5bdb(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x3306(%rip), %rsi      # 0x12725
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3314(%rip), %rsi      # 0x12751
callq 0x10c0
cmpl $0x0, %eax
jne 0xf48c
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xb840
cmpl $0x0, %eax
je 0xf468
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5b81(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x32df(%rip), %rsi      # 0x12758
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x32ee(%rip), %rsi      # 0x12785
callq 0x10c0
cmpl $0x0, %eax
jne 0xf4e6
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xb700
cmpl $0x0, %eax
je 0xf4c2
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5b27(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x32ba(%rip), %rsi      # 0x1278d
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x32ca(%rip), %rsi      # 0x127bb
callq 0x10c0
cmpl $0x0, %eax
jne 0xf540
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xb9b0
cmpl $0x0, %eax
je 0xf51c
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5acd(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x3295(%rip), %rsi      # 0x127c2
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3301(%rip), %rsi      # 0x1284c
callq 0x10c0
cmpl $0x0, %eax
jne 0xf59a
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xa150
cmpl $0x0, %eax
je 0xf576
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5a73(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x3268(%rip), %rsi      # 0x127ef
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x32a6(%rip), %rsi      # 0x1284b
callq 0x10c0
cmpl $0x0, %eax
jne 0xf5f4
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x8d30
cmpl $0x0, %eax
je 0xf5d0
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5a19(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x323b(%rip), %rsi      # 0x1281c
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x324b(%rip), %rsi      # 0x1284a
callq 0x10c0
cmpl $0x0, %eax
jne 0xf64e
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xa300
cmpl $0x0, %eax
je 0xf62a
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x59bf(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x3218(%rip), %rsi      # 0x12853
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3229(%rip), %rsi      # 0x12882
callq 0x10c0
cmpl $0x0, %eax
jne 0xf67e
movl 0x10813(%rip), %ecx     # 0x1fe7c
addl $0x14, %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3200(%rip), %rsi      # 0x12889
callq 0x10c0
cmpl $0x0, %eax
jne 0xf6d8
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x8750
cmpl $0x0, %eax
je 0xf6b4
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5935(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x31cb(%rip), %rsi      # 0x12890
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x31da(%rip), %rsi      # 0x128bd
callq 0x10c0
cmpl $0x0, %eax
jne 0xf732
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xb5d0
cmpl $0x0, %eax
je 0xf70e
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x58db(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x31a5(%rip), %rsi      # 0x128c4
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x2474(%rip), %rsi      # 0x11bb1
callq 0x10c0
cmpl $0x0, %eax
jne 0xf78c
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xafe0
cmpl $0x0, %eax
je 0xf768
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5881(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x3178(%rip), %rsi      # 0x128f1
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3187(%rip), %rsi      # 0x1291e
callq 0x10c0
cmpl $0x0, %eax
jne 0xf7b7
movq -0x10(%rbp), %rax
movl $0x0, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3164(%rip), %rsi      # 0x12926
callq 0x10c0
cmpl $0x0, %eax
jne 0xf7e2
movq -0x10(%rbp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3142(%rip), %rsi      # 0x1292f
callq 0x10c0
cmpl $0x0, %eax
jne 0xf83c
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xb3f0
cmpl $0x0, %eax
je 0xf818
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x57d1(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x310d(%rip), %rsi      # 0x12936
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x311c(%rip), %rsi      # 0x12963
callq 0x10c0
cmpl $0x0, %eax
jne 0xf896
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xb330
cmpl $0x0, %eax
je 0xf872
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5777(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x30e7(%rip), %rsi      # 0x1296a
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x30f6(%rip), %rsi      # 0x12997
callq 0x10c0
cmpl $0x0, %eax
jne 0xf8f0
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xaeb0
cmpl $0x0, %eax
je 0xf8cc
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x571d(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x30bf(%rip), %rsi      # 0x1299c
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x30cc(%rip), %rsi      # 0x129c7
callq 0x10c0
cmpl $0x0, %eax
jne 0xf94a
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xb4c0
cmpl $0x0, %eax
je 0xf926
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x56c3(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x3098(%rip), %rsi      # 0x129cf
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x30a8(%rip), %rsi      # 0x129fd
callq 0x10c0
cmpl $0x0, %eax
jne 0xf9a4
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xb8f0
cmpl $0x0, %eax
je 0xf980
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5669(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x3073(%rip), %rsi      # 0x12a04
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x26e7(%rip), %rsi      # 0x12096
callq 0x10c0
cmpl $0x0, %eax
jne 0xf9fe
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xb030
cmpl $0x0, %eax
je 0xf9da
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x560f(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x3046(%rip), %rsi      # 0x12a31
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3056(%rip), %rsi      # 0x12a5f
callq 0x10c0
cmpl $0x0, %eax
jne 0xfa58
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xa220
cmpl $0x0, %eax
je 0xfa34
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x55b5(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x3022(%rip), %rsi      # 0x12a67
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x3032(%rip), %rsi      # 0x12a95
callq 0x10c0
cmpl $0x0, %eax
jne 0xfab2
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xa550
cmpl $0x0, %eax
je 0xfa8e
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x555b(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x2ffc(%rip), %rsi      # 0x12a9b
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x300a(%rip), %rsi      # 0x12ac7
callq 0x10c0
cmpl $0x0, %eax
jne 0xfb0c
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x8530
cmpl $0x0, %eax
je 0xfae8
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5501(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x2fd5(%rip), %rsi      # 0x12ace
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x2fe4(%rip), %rsi      # 0x12afb
callq 0x10c0
cmpl $0x0, %eax
jne 0xfb66
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x8850
cmpl $0x0, %eax
je 0xfb42
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x54a7(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x2fae(%rip), %rsi      # 0x12b01
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x2fbc(%rip), %rsi      # 0x12b2d
callq 0x10c0
cmpl $0x0, %eax
jne 0xfbc0
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xa730
cmpl $0x0, %eax
je 0xfb9c
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x544d(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x2f87(%rip), %rsi      # 0x12b34
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x2f96(%rip), %rsi      # 0x12b61
callq 0x10c0
cmpl $0x0, %eax
jne 0xfbeb
movq -0x10(%rbp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x2f7a(%rip), %rsi      # 0x12b70
callq 0x10c0
cmpl $0x0, %eax
jne 0xfc45
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xa900
cmpl $0x0, %eax
je 0xfc21
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x53c8(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x2f46(%rip), %rsi      # 0x12b78
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x2f56(%rip), %rsi      # 0x12ba6
callq 0x10c0
cmpl $0x0, %eax
jne 0xfc9f
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xa980
cmpl $0x0, %eax
je 0xfc7b
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x536e(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x2f20(%rip), %rsi      # 0x12bac
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x2f2e(%rip), %rsi      # 0x12bd8
callq 0x10c0
cmpl $0x0, %eax
jne 0xfcf9
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xbaa0
cmpl $0x0, %eax
je 0xfcd5
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5314(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x2efc(%rip), %rsi      # 0x12be2
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x2f0e(%rip), %rsi      # 0x12c12
callq 0x10c0
cmpl $0x0, %eax
jne 0xfd1a
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x2ef4(%rip), %rsi      # 0x12c19
callq 0x10c0
cmpl $0x0, %eax
jne 0xfd71
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xbde0
cmpl $0x0, %eax
je 0xfd50
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5299(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x2ec1(%rip), %rsi      # 0x12c22
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq -0x18(%rbp), %rdi
leaq 0x1e3c(%rip), %rsi      # 0x11bb8
callq 0x10c0
cmpl $0x0, %eax
jne 0xfdc5
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0xac00
cmpl $0x0, %eax
je 0xfda4
movl $0x0, -0x4(%rbp)
jmp 0xfde8
movq 0x5245(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x2e9c(%rip), %rsi      # 0x12c51
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xfde8
movq 0x5224(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
movq -0x18(%rbp), %rdx
leaq 0x2ea4(%rip), %rsi      # 0x12c7e
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)