// File: Luthaf[P]zeopp/area_and_volume.cc
// Function: calcASA[abi:cxx11](ATOM_NETWORK*, ATOM_NETWORK*, bool, double, double, int, bool, bool)
string calcASA(ATOM_NETWORK *atmnet, ATOM_NETWORK *orgatmnet, bool highAccuracy, double r_probe_chan, double r_probe, int numSamples, bool excludePockets, bool ExtendedOutputFlag)
{
    stringstream output;
    string filename = "No filename";
    double rho_crystal = calcDensity(atmnet);
    double sa = calcASA(atmnet, orgatmnet, highAccuracy, r_probe_chan, r_probe, rho_crystal, numSamples, excludePockets, output, (char *)filename.data(), false, false, false, ExtendedOutputFlag);
    return output.str();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2b0, %rsp            # imm = 0x2B0
movl %r9d, -0x234(%rbp)
movl %ecx, %eax
movl -0x234(%rbp), %ecx
movq %rdx, -0x230(%rbp)
movq %rsi, %rdx
movq -0x230(%rbp), %rsi
movq %rdx, -0x228(%rbp)
movq %rdi, %r9
movq -0x228(%rbp), %rdi
movq %r9, -0x220(%rbp)
movb %al, %dl
movq %r9, %rax
movq %rax, -0x218(%rbp)
movb 0x10(%rbp), %al
movq %r9, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
andb $0x1, %dl
movb %dl, -0x19(%rbp)
movsd %xmm0, -0x28(%rbp)
movsd %xmm1, -0x30(%rbp)
movl %r8d, -0x34(%rbp)
andb $0x1, %cl
movb %cl, -0x35(%rbp)
andb $0x1, %al
movb %al, -0x36(%rbp)
leaq -0x1c0(%rbp), %rdi
callq 0x5370
leaq -0x1e1(%rbp), %rdi
movq %rdi, -0x210(%rbp)
callq 0x5900
movq -0x210(%rbp), %rdx
leaq 0x173655(%rip), %rsi    # 0x1f708f
leaq -0x1e0(%rbp), %rdi
callq 0x47530
jmp 0x83a48
leaq -0x1e1(%rbp), %rdi
callq 0x55d0
movq -0x10(%rbp), %rdi
callq 0x74f60
movsd %xmm0, -0x240(%rbp)
jmp 0x83a67
movsd -0x240(%rbp), %xmm0
movsd %xmm0, -0x200(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x280(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x278(%rbp)
movsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x270(%rbp)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x268(%rbp)
movsd -0x200(%rbp), %xmm0
movsd %xmm0, -0x260(%rbp)
movl -0x34(%rbp), %eax
movl %eax, -0x254(%rbp)
leaq -0x1b0(%rbp), %rax
movq %rax, -0x250(%rbp)
movzbl -0x35(%rbp), %eax
movl %eax, -0x284(%rbp)
movzbl -0x19(%rbp), %eax
movl %eax, -0x288(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x52c0
movl -0x288(%rbp), %edx
movl -0x284(%rbp), %r8d
movq -0x280(%rbp), %rdi
movq -0x278(%rbp), %rsi
movsd -0x270(%rbp), %xmm0
movsd -0x268(%rbp), %xmm1
movsd -0x260(%rbp), %xmm2
movl -0x254(%rbp), %ecx
movq -0x250(%rbp), %r9
movq %rax, %r10
movzbl -0x36(%rbp), %r11d
andl $0x1, %r11d
movq %rsp, %rax
movl %r11d, 0x20(%rax)
movq %r10, (%rax)
movl $0x0, 0x18(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
andl $0x1, %edx
andl $0x1, %r8d
callq 0x807c0
movsd %xmm0, -0x248(%rbp)
jmp 0x83b6f
movq -0x220(%rbp), %rdi
movsd -0x248(%rbp), %xmm0
movsd %xmm0, -0x208(%rbp)
leaq -0x1c0(%rbp), %rsi
callq 0x5530
jmp 0x83b94
leaq -0x1e0(%rbp), %rdi
callq 0x5300
leaq -0x1c0(%rbp), %rdi
callq 0x53c0
movq -0x218(%rbp), %rax
addq $0x2b0, %rsp            # imm = 0x2B0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f0(%rbp)
movl %eax, -0x1f4(%rbp)
leaq -0x1e1(%rbp), %rdi
callq 0x55d0
jmp 0x83bfa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f0(%rbp)
movl %eax, -0x1f4(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x5300
leaq -0x1c0(%rbp), %rdi
callq 0x53c0
movq -0x1f0(%rbp), %rdi
callq 0x58f0
nopw %cs:(%rax,%rax)