// File: /workspace/github_cpp_makefile_star2_O1/FFY00[P]uicc/include/uicc.h
// Function: USIM::openFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
bool openFile(string filename) {
        string order(u8"\x00\xa4\x08\x04",4);
        string answer(u8"\x61",1);
        string filenameBin=UICCFile(filename);

        if (! send_check(order+(char)(filenameBin.size())+filenameBin, answer))
            return false;

        string size=read(1);

        if (size.size() !=1)
            return false;

        return readFileInfo(size);
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
movq %rdi, %rbx
leaq -0x98(%rbp), %rax
movq %rax, -0x10(%rax)
movl $0x408a400, (%rax)      # imm = 0x408A400
movq $0x4, -0x8(%rax)
movb $0x0, 0x4(%rax)
leaq -0x78(%rbp), %rax
movq %rax, -0x10(%rax)
movw $0x61, (%rax)
movq $0x1, -0x8(%rax)
leaq -0x118(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rsi), %rax
movq 0x8(%rsi), %rdx
addq %rax, %rdx
leaq -0x128(%rbp), %rdi
movq %rax, %rsi
callq 0x1372a
leaq -0xc8(%rbp), %rdi
leaq -0x128(%rbp), %rdx
movq %rbx, %rsi
callq 0x1175a
movq -0x128(%rbp), %rdi
cmpq %r14, %rdi
je 0x114d4
callq 0x2220
movq -0xc0(%rbp), %r14
leaq -0x38(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x48(%rbp), %rdi
callq 0x1372a
leaq -0x48(%rbp), %rdi
movq 0x8(%rdi), %rsi
movsbl %r14b, %r8d
movl $0x1, %ecx
xorl %edx, %edx
callq 0x2440
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
leaq -0x48(%rbp), %rdi
callq 0x20d0
leaq -0x58(%rbp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x11551
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x11559
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0xf8(%rbp), %r13
movq %r13, -0x10(%r13)
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
addq %rsi, %rdx
leaq -0x108(%rbp), %rdi
callq 0x1372a
leaq -0x68(%rbp), %rsi
leaq -0x108(%rbp), %rdx
movq %rbx, %rdi
callq 0xe8a6
movl %eax, %r14d
movq -0x108(%rbp), %rdi
cmpq %r13, %rdi
je 0x115bc
callq 0x2220
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x115ca
callq 0x2220
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x115d8
callq 0x2220
testb %r14b, %r14b
je 0x1163a
leaq -0x48(%rbp), %rdi
movl $0x1, %edx
movq %rbx, %rsi
callq 0xde7c
movq -0x40(%rbp), %rdx
cmpq $0x1, %rdx
jne 0x1163e
leaq -0xd8(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x48(%rbp), %rsi
addq %rsi, %rdx
leaq -0xe8(%rbp), %rdi
callq 0x1372a
leaq -0xe8(%rbp), %rsi
movq %rbx, %rdi
callq 0x12606
movl %eax, %ebx
movq -0xe8(%rbp), %rdi
cmpq %r14, %rdi
je 0x11640
callq 0x2220
jmp 0x11640
xorl %ebx, %ebx
jmp 0x1164e
xorl %ebx, %ebx
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x1164e
callq 0x2220
leaq -0xb8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x11663
callq 0x2220
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x11678
callq 0x2220
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x11690
callq 0x2220
movl %ebx, %eax
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq -0xe8(%rbp), %rdi
cmpq %r14, %rdi
jne 0x116db
jmp 0x116e7
jmp 0x116e4
jmp 0x116f7
movq %rax, %rbx
movq -0x108(%rbp), %rdi
cmpq %r13, %rdi
je 0x116d2
callq 0x2220
jmp 0x116d2
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x116e7
callq 0x2220
jmp 0x116e7
jmp 0x116e4
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x116fa
callq 0x2220
jmp 0x116fa
movq %rax, %rbx
leaq -0xb8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x11725
callq 0x2220
jmp 0x11725
movq %rax, %rbx
movq -0x128(%rbp), %rdi
cmpq %r14, %rdi
jne 0x1170a
jmp 0x11725
movq %rax, %rbx
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x1173a
callq 0x2220
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x11752
callq 0x2220
movq %rbx, %rdi
callq 0x2400