// File: Saevon[P]node-diskfree/build/../src/disk-gyp.cpp
// Function: diskfree::checkErr(v8::FunctionCallbackInfo<v8::Value> const&, bool (*)(unsigned long))
void checkErr(const FunctionCallbackInfo<Value> &args, diskErrFunc_t errChecker) {
        Isolate *isolate = args.GetIsolate();
        Local<Context> context = isolate->GetCurrentContext();

        // Check the input args
        bool shouldRun = checkErrorcodeArgs(args);
        if (!shouldRun) {
            return;
        }

        // Get the args
        double error;
        if (args[0]->IsUndefined()) {
            error = 0;
        } else {
            error = args[0]->NumberValue(context).FromMaybe(0);
        }

        // Convert to proper type
        args.GetReturnValue().Set(
            static_cast<double>(errChecker(static_cast<uint64_t>(error)))
        );
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x320, %rsp            # imm = 0x320
movq %rdi, -0x288(%rbp)
movq %rsi, -0x290(%rbp)
movq -0x288(%rbp), %rax
movq %rax, -0x280(%rbp)
movq -0x280(%rbp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x298(%rbp)
movq -0x298(%rbp), %rdi
callq 0x2150
movq %rax, -0x2a0(%rbp)
movq -0x288(%rbp), %rdi
callq 0x2130
andb $0x1, %al
movb %al, -0x2a1(%rbp)
testb $0x1, -0x2a1(%rbp)
jne 0x4051
jmp 0x4710
movq -0x288(%rbp), %rax
movq %rax, -0x228(%rbp)
movl $0x0, -0x22c(%rbp)
movq -0x228(%rbp), %rax
movq %rax, -0x2f0(%rbp)
cmpl $0x0, -0x22c(%rbp)
jl 0x4096
movq -0x2f0(%rbp), %rax
movl 0x10(%rax), %eax
cmpl -0x22c(%rbp), %eax
jg 0x417d
movq -0x2f0(%rbp), %rax
movq %rax, -0x200(%rbp)
movq -0x200(%rbp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x210(%rbp)
movq -0x210(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movq -0x210(%rbp), %rax
movq %rax, -0x188(%rbp)
movl $0x4, -0x18c(%rbp)
movq -0x188(%rbp), %rax
addq $0x38, %rax
movl -0x18c(%rbp), %ecx
shll $0x3, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x198(%rbp)
movq -0x198(%rbp), %rax
movq %rax, -0x218(%rbp)
movq -0x218(%rbp), %rax
leaq -0x208(%rbp), %rcx
movq %rcx, -0x160(%rbp)
movq %rax, -0x168(%rbp)
movq -0x160(%rbp), %rax
movq -0x168(%rbp), %rcx
movq %rcx, (%rax)
movq -0x208(%rbp), %rax
movq %rax, -0x238(%rbp)
leaq -0x238(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
movq (%rax), %rax
leaq -0x220(%rbp), %rcx
movq %rcx, -0x78(%rbp)
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rax
movq -0x80(%rbp), %rcx
movq %rcx, (%rax)
jmp 0x41b5
movq -0x2f0(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x22c(%rbp), %rdx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
leaq -0x220(%rbp), %rcx
movq %rcx, -0x68(%rbp)
movq %rax, -0x70(%rbp)
movq -0x68(%rbp), %rax
movq -0x70(%rbp), %rcx
movq %rcx, (%rax)
movq -0x220(%rbp), %rax
movq %rax, -0x2b8(%rbp)
leaq -0x2b8(%rbp), %rax
movq %rax, -0x1f0(%rbp)
movq -0x1f0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x1d8(%rbp)
movq -0x1d8(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x148(%rbp)
movq -0x148(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x130(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
je 0x422c
movb $0x0, -0x131(%rbp)
jmp 0x438b
movq -0x148(%rbp), %rax
movq %rax, -0x120(%rbp)
movq -0x120(%rbp), %rax
movq %rax, -0x110(%rbp)
movl $0x0, -0x114(%rbp)
movq -0x110(%rbp), %rcx
movl -0x114(%rbp), %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
movq -0xe0(%rbp), %rax
movslq -0xe4(%rbp), %rcx
addq %rcx, %rax
subq $0x1, %rax
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x128(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0xf8(%rbp)
movl $0xc, -0xfc(%rbp)
movq -0xf8(%rbp), %rax
movslq -0xfc(%rbp), %rcx
addq %rcx, %rax
subq $0x1, %rax
movq %rax, -0x108(%rbp)
movq -0x108(%rbp), %rax
movzwl (%rax), %eax
cmpl $0x43, %eax
je 0x42e8
movb $0x0, -0x131(%rbp)
jmp 0x438b
movq -0x148(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq -0xd8(%rbp), %rax
movq %rax, -0xc0(%rbp)
movl $0x28, -0xc4(%rbp)
movq -0xc0(%rbp), %rcx
movl -0xc4(%rbp), %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
movq -0xa8(%rbp), %rax
movslq -0xac(%rbp), %rcx
addq %rcx, %rax
subq $0x1, %rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rax
movq %rax, -0x98(%rbp)
movl $0x20, -0x9c(%rbp)
movq -0x98(%rbp), %rax
movl -0x9c(%rbp), %ecx
sarq %cl, %rax
cmpl $0x5, %eax
sete %al
andb $0x1, %al
movb %al, -0x131(%rbp)
testb $0x1, -0x131(%rbp)
jne 0x4396
jmp 0x43a6
xorps %xmm0, %xmm0
movsd %xmm0, -0x2b0(%rbp)
jmp 0x45cb
movq -0x288(%rbp), %rax
movq %rax, -0x268(%rbp)
movl $0x0, -0x26c(%rbp)
movq -0x268(%rbp), %rax
movq %rax, -0x2f8(%rbp)
cmpl $0x0, -0x26c(%rbp)
jl 0x43eb
movq -0x2f8(%rbp), %rax
movl 0x10(%rax), %eax
cmpl -0x26c(%rbp), %eax
jg 0x44d2
movq -0x2f8(%rbp), %rax
movq %rax, -0x240(%rbp)
movq -0x240(%rbp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x250(%rbp)
movq -0x250(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movq -0x250(%rbp), %rax
movq %rax, -0x170(%rbp)
movl $0x4, -0x174(%rbp)
movq -0x170(%rbp), %rax
addq $0x38, %rax
movl -0x174(%rbp), %ecx
shll $0x3, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x180(%rbp)
movq -0x180(%rbp), %rax
movq %rax, -0x258(%rbp)
movq -0x258(%rbp), %rax
leaq -0x248(%rbp), %rcx
movq %rcx, -0x150(%rbp)
movq %rax, -0x158(%rbp)
movq -0x150(%rbp), %rax
movq -0x158(%rbp), %rcx
movq %rcx, (%rax)
movq -0x248(%rbp), %rax
movq %rax, -0x278(%rbp)
leaq -0x278(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq (%rax), %rax
leaq -0x260(%rbp), %rcx
movq %rcx, -0x58(%rbp)
movq %rax, -0x60(%rbp)
movq -0x58(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, (%rax)
jmp 0x450a
movq -0x2f8(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x26c(%rbp), %rdx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
leaq -0x260(%rbp), %rcx
movq %rcx, -0x48(%rbp)
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rax
movq -0x50(%rbp), %rcx
movq %rcx, (%rax)
movq -0x260(%rbp), %rax
movq %rax, -0x2d0(%rbp)
leaq -0x2d0(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movq -0x1f8(%rbp), %rax
movq (%rax), %rdi
movq -0x2a0(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x2d8(%rbp), %rsi
callq 0x2120
movb %al, -0x2c8(%rbp)
movsd %xmm0, -0x2c0(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x2e0(%rbp)
leaq -0x2c8(%rbp), %rax
movq %rax, -0x1c8(%rbp)
leaq -0x2e0(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x1c8(%rbp), %rax
movq %rax, -0x300(%rbp)
testb $0x1, (%rax)
je 0x45a8
movq -0x300(%rbp), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x308(%rbp)
jmp 0x45bb
movq -0x1d0(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x308(%rbp)
movsd -0x308(%rbp), %xmm0
movsd %xmm0, -0x2b0(%rbp)
movq -0x288(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movq -0x1e8(%rbp), %rax
movq (%rax), %rax
addq $0x18, %rax
leaq -0x1e0(%rbp), %rcx
movq %rcx, -0x38(%rbp)
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rax
movq -0x40(%rbp), %rcx
movq %rcx, (%rax)
movq -0x1e0(%rbp), %rax
movq %rax, -0x2e8(%rbp)
movq -0x290(%rbp), %rax
movsd -0x2b0(%rbp), %xmm0
movsd 0xa02(%rip), %xmm2      # 0x5028
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rcx
cvttsd2si %xmm0, %rdi
movq %rdi, %rdx
sarq $0x3f, %rdx
andq %rdx, %rcx
orq %rcx, %rdi
callq *%rax
movzbl %al, %eax
cvtsi2sd %eax, %xmm0
leaq -0x2e8(%rbp), %rax
movq %rax, -0x1b0(%rbp)
movsd %xmm0, -0x1b8(%rbp)
movq -0x1b0(%rbp), %rax
movq %rax, -0x318(%rbp)
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rax), %rdi
movsd -0x1b8(%rbp), %xmm0
callq 0x2250
movq %rax, %rcx
movq -0x318(%rbp), %rax
movq %rcx, -0x1c0(%rbp)
movq -0x1c0(%rbp), %rcx
movq %rcx, -0x28(%rbp)
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x310(%rbp)
leaq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
sete %al
testb $0x1, %al
jne 0x46d1
jmp 0x46ef
movq -0x310(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
movq -0x8(%rcx), %rcx
movq (%rax), %rax
movq %rcx, (%rax)
jmp 0x470e
movq -0x310(%rbp), %rax
leaq -0x28(%rbp), %rcx
movq %rcx, -0x20(%rbp)
movq -0x20(%rbp), %rcx
movq (%rcx), %rcx
movq (%rcx), %rcx
movq (%rax), %rax
movq %rcx, (%rax)
jmp 0x4710
addq $0x320, %rsp            # imm = 0x320
popq %rbp
retq
nopl (%rax)