// File: /workspace/github_cpp_makefile_star2_O1/pstuifzand[P]magento-tools/src/magento-modules.cpp
// Function: parse_module_config::operator()(fs::file const&)
void operator()(const fs::file& f) {
        XML_SetUserData(parser.handle(), &data);
        XML_SetElementHandler(parser.handle(), root_start_element_handler, root_end_element_handler);
        XML_SetCharacterDataHandler(parser.handle(), character_data_handler);

        data.filename = f.name();

        std::stringstream name;
        name << "app/etc/modules/";
        name << f.name();

        struct stat stat_buf;
        stat(name.str().c_str(), &stat_buf);
        if (S_ISREG(stat_buf.st_mode)) {
            std::ifstream in{name.str()};
            if (in) parse_xml(parser, in, &data);
            else std::cerr << "Can't open " << name.str() << "\n";
        }
        parser.reset();
    }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x448, %rsp            # imm = 0x448
movq %rsi, %r15
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x8(%rbx), %r14
movq %r14, %rsi
callq 0x2050
movq (%rbx), %rdi
leaq -0x66a(%rip), %rsi      # 0x23e3
leaq -0x589(%rip), %rdx      # 0x24cb
callq 0x2140
movq (%rbx), %rdi
leaq -0x368(%rip), %rsi      # 0x26fb
callq 0x2180
movq (%r15), %rax
addq $0x13, %rax
movq %rax, 0x10(%rbx)
leaq 0x28(%rsp), %rdi
callq 0x20d0
leaq 0x38(%rsp), %r12
leaq 0x654(%rip), %rsi       # 0x30dd
movl $0x10, %edx
movq %r12, %rdi
callq 0x2170
movq (%r15), %r15
addq $0x13, %r15
movq %r15, %rdi
callq 0x20a0
movq %r12, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x2170
leaq 0x40(%rsp), %r15
leaq 0x1b0(%rsp), %rdi
movq %r15, %rsi
callq 0x2200
leaq 0x1c0(%rsp), %r12
movq -0x10(%r12), %rdi
leaq 0x3b8(%rsp), %rsi
callq 0x2130
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x2afc
movq 0x1c0(%rsp), %rsi
incq %rsi
callq 0x2150
movl $0xf000, %eax           # imm = 0xF000
andl 0x3d0(%rsp), %eax
cmpl $0x8000, %eax           # imm = 0x8000
jne 0x2bf1
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
callq 0x2200
leaq 0x1b0(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movl $0x8, %edx
callq 0x2220
leaq 0x18(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x2b53
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2150
movq 0x1b0(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x1d0(%rsp,%rax)
je 0x2bd1
movq 0x2480(%rip), %rdi      # 0x4ff0
leaq 0x577(%rip), %rsi       # 0x30ee
movl $0xb, %edx
callq 0x2170
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
callq 0x2200
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x2451(%rip), %rdi      # 0x4ff0
callq 0x2170
leaq 0x4f6(%rip), %rsi       # 0x30a1
movl $0x1, %edx
movq %rax, %rdi
callq 0x2170
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2be4
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2150
jmp 0x2be4
leaq 0x1b0(%rsp), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0x2ca7
leaq 0x1b0(%rsp), %rdi
callq 0x2060
movq (%rbx), %rdi
xorl %esi, %esi
callq 0x2160
movq 0x23b6(%rip), %rsi      # 0x4fb8
leaq 0x28(%rsp), %rdi
callq 0x20f0
leaq 0xa8(%rsp), %rdi
callq 0x2080
addq $0x448, %rsp            # imm = 0x448
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x2c2a
movq %rax, %rbx
jmp 0x2c6b
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2c81
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2150
jmp 0x2c81
jmp 0x2c7e
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2c6b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2150
leaq 0x1b0(%rsp), %rdi
callq 0x2060
jmp 0x2c81
jmp 0x2c7e
jmp 0x2c7e
movq %rax, %rbx
movq 0x2330(%rip), %rsi      # 0x4fb8
leaq 0x28(%rsp), %rdi
callq 0x20f0
leaq 0xa8(%rsp), %rdi
callq 0x2080
movq %rbx, %rdi
callq 0x2260