// File: /workspace/github_cpp_makefile_star2_O3/halfflat[P]tinyopt/test/test_parse.cc
// Function: parse_flag_Test::TestBody()
TEST(parse, flag) {
    {
        mockargs M("-s\0end\0");
        char** arg = M.argv;

        auto r = to::parse(arg, "-s", "--long");
        ASSERT_TRUE(r);
        ASSERT_EQ(M.argv+1, arg);
    }

    {
        mockargs M("--s\0end\0");
        char** arg = M.argv;
        auto r = to::parse(arg, "-s", "--long");

        ASSERT_FALSE(r);
        ASSERT_EQ(M.argv, arg);
    }

    {
        mockargs M("--long\0end\0");
        char** arg = M.argv;
        auto r = to::parse(arg, "-s", "--long");

        ASSERT_TRUE(r);
        ASSERT_EQ(M.argv+1, arg);
    }

    {
        mockargs M("-long\0end\0");
        char** arg = M.argv;
        auto r = to::parse(arg, "-s", "--long");

        ASSERT_FALSE(r);
        ASSERT_EQ(M.argv, arg);
    }

    {
        mockargs M("--xyz\0end\0");
        char** arg = M.argv;
        auto r = to::parse(arg, "-s", "--long");

        ASSERT_FALSE(r);
        ASSERT_EQ(M.argv, arg);
    }
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
leaq 0x43e7e(%rip), %rsi     # 0x6e817
leaq 0x58(%rsp), %rbx
movq %rbx, %rdi
callq 0x29a42
movq 0x8(%rbx), %rax
movq %rax, 0x50(%rsp)
leaq 0x439ea(%rip), %rsi     # 0x6e3a0
leaq 0x120(%rsp), %rdi
callq 0x200cc
leaq 0x42529(%rip), %rcx     # 0x6cef3
leaq 0xf(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x120(%rsp), %rdx
callq 0x2cfe0
leaq 0x130(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2aa02
movq 0x130(%rsp), %rsi
incq %rsi
callq 0xd530
movb 0xf(%rsp), %al
movb %al, 0x18(%rsp)
movq $0x0, 0x20(%rsp)
testb %al, %al
je 0x2aa71
movq 0x60(%rsp), %rax
addq $0x8, %rax
leaq 0x18(%rsp), %rcx
movq %rax, (%rcx)
leaq 0x43974(%rip), %rsi     # 0x6e3a3
leaq 0x4258b(%rip), %rdx     # 0x6cfc1
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %r8
callq 0x2d35e
movb 0x30(%rsp), %bl
testb %bl, %bl
jne 0x2ab69
leaq 0x18(%rsp), %rdi
callq 0x4ca86
movq 0x38(%rsp), %rax
testq %rax, %rax
je 0x2ab1e
movq (%rax), %r8
jmp 0x2ab25
leaq 0x20(%rsp), %r14
leaq 0x10(%rsp), %rdi
callq 0x4ca86
leaq 0x4392d(%rip), %rdx     # 0x6e3b4
leaq 0x41678(%rip), %rcx     # 0x6c106
leaq 0x41677(%rip), %r8      # 0x6c10c
leaq 0x30(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46893
movq 0x30(%rsp), %r8
leaq 0x438a2(%rip), %rdx     # 0x6e352
leaq 0x28(%rsp), %rdi
movl $0x2, %esi
movl $0x12, %ecx
callq 0x4902a
leaq 0x28(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x46a1c
leaq 0x28(%rsp), %rdi
callq 0x49096
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2aaf8
movq 0x40(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2ab08
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x20(%rsp), %rsi
testq %rsi, %rsi
je 0x2ab1a
movq %r14, %rdi
callq 0x153ca
xorl %ebx, %ebx
jmp 0x2ab7d
leaq 0x444b0(%rip), %r8      # 0x6efd5
leaq 0x43826(%rip), %rdx     # 0x6e352
leaq 0x10(%rsp), %rdi
movl $0x2, %esi
movl $0x13, %ecx
callq 0x4902a
leaq 0x10(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46a1c
leaq 0x10(%rsp), %rdi
callq 0x49096
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2ab69
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x38(%rsp), %rsi
testq %rsi, %rsi
je 0x2ab7d
leaq 0x38(%rsp), %rdi
callq 0x153ca
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x2ab94
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
testb %bl, %bl
je 0x2b397
leaq 0x43c8c(%rip), %rsi     # 0x6e82f
leaq 0x58(%rsp), %rbx
movq %rbx, %rdi
callq 0x29a42
movq 0x8(%rbx), %rax
movq %rax, 0x50(%rsp)
leaq 0x437e0(%rip), %rsi     # 0x6e3a0
leaq 0xf8(%rsp), %rdi
callq 0x200cc
leaq 0x4231f(%rip), %rcx     # 0x6cef3
leaq 0xf(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0xf8(%rsp), %rdx
callq 0x2cfe0
leaq 0x108(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2ac0c
movq 0x108(%rsp), %rsi
incq %rsi
callq 0xd530
movb 0xf(%rsp), %al
movl %eax, %ecx
xorb $0x1, %cl
movb %cl, 0x18(%rsp)
movq $0x0, 0x20(%rsp)
testb %al, %al
je 0x2acda
leaq 0x20(%rsp), %r14
leaq 0x10(%rsp), %rdi
callq 0x4ca86
leaq 0x43774(%rip), %rdx     # 0x6e3b4
leaq 0x414c5(%rip), %rcx     # 0x6c10c
leaq 0x414b8(%rip), %r8      # 0x6c106
leaq 0x30(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46893
movq 0x30(%rsp), %r8
leaq 0x436e9(%rip), %rdx     # 0x6e352
leaq 0x28(%rsp), %rdi
movl $0x2, %esi
movl $0x1b, %ecx
callq 0x4902a
leaq 0x28(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x46a1c
leaq 0x28(%rsp), %rdi
callq 0x49096
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2acb1
movq 0x40(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2acc1
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x20(%rsp), %rsi
testq %rsi, %rsi
je 0x2acd3
movq %r14, %rdi
callq 0x153ca
xorl %ebx, %ebx
jmp 0x2ad7c
leaq 0x60(%rsp), %rcx
leaq 0x436c6(%rip), %rsi     # 0x6e3ac
leaq 0x422d4(%rip), %rdx     # 0x6cfc1
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %r8
callq 0x2d35e
movb 0x30(%rsp), %bl
testb %bl, %bl
jne 0x2ad68
leaq 0x18(%rsp), %rdi
callq 0x4ca86
movq 0x38(%rsp), %rax
testq %rax, %rax
je 0x2ad1d
movq (%rax), %r8
jmp 0x2ad24
leaq 0x442b1(%rip), %r8      # 0x6efd5
leaq 0x43627(%rip), %rdx     # 0x6e352
leaq 0x10(%rsp), %rdi
movl $0x2, %esi
movl $0x1c, %ecx
callq 0x4902a
leaq 0x10(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46a1c
leaq 0x10(%rsp), %rdi
callq 0x49096
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2ad68
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x38(%rsp), %rsi
testq %rsi, %rsi
je 0x2ad7c
leaq 0x38(%rsp), %rdi
callq 0x153ca
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x2ad93
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
testb %bl, %bl
je 0x2b397
leaq 0x43a96(%rip), %rsi     # 0x6e838
leaq 0x58(%rsp), %rbx
movq %rbx, %rdi
callq 0x29a42
movq 0x8(%rbx), %rax
movq %rax, 0x50(%rsp)
leaq 0x435e1(%rip), %rsi     # 0x6e3a0
leaq 0xd0(%rsp), %rdi
callq 0x200cc
leaq 0x42120(%rip), %rcx     # 0x6cef3
leaq 0xf(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0xd0(%rsp), %rdx
callq 0x2cfe0
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2ae0b
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0xd530
movb 0xf(%rsp), %al
movb %al, 0x18(%rsp)
movq $0x0, 0x20(%rsp)
testb %al, %al
je 0x2ae7a
movq 0x60(%rsp), %rax
addq $0x8, %rax
leaq 0x18(%rsp), %rcx
movq %rax, (%rcx)
leaq 0x4356b(%rip), %rsi     # 0x6e3a3
leaq 0x42182(%rip), %rdx     # 0x6cfc1
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %r8
callq 0x2d35e
movb 0x30(%rsp), %bl
testb %bl, %bl
jne 0x2af72
leaq 0x18(%rsp), %rdi
callq 0x4ca86
movq 0x38(%rsp), %rax
testq %rax, %rax
je 0x2af27
movq (%rax), %r8
jmp 0x2af2e
leaq 0x20(%rsp), %r14
leaq 0x10(%rsp), %rdi
callq 0x4ca86
leaq 0x43524(%rip), %rdx     # 0x6e3b4
leaq 0x4126f(%rip), %rcx     # 0x6c106
leaq 0x4126e(%rip), %r8      # 0x6c10c
leaq 0x30(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46893
movq 0x30(%rsp), %r8
leaq 0x43499(%rip), %rdx     # 0x6e352
leaq 0x28(%rsp), %rdi
movl $0x2, %esi
movl $0x24, %ecx
callq 0x4902a
leaq 0x28(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x46a1c
leaq 0x28(%rsp), %rdi
callq 0x49096
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2af01
movq 0x40(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2af11
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x20(%rsp), %rsi
testq %rsi, %rsi
je 0x2af23
movq %r14, %rdi
callq 0x153ca
xorl %ebx, %ebx
jmp 0x2af86
leaq 0x440a7(%rip), %r8      # 0x6efd5
leaq 0x4341d(%rip), %rdx     # 0x6e352
leaq 0x10(%rsp), %rdi
movl $0x2, %esi
movl $0x25, %ecx
callq 0x4902a
leaq 0x10(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46a1c
leaq 0x10(%rsp), %rdi
callq 0x49096
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2af72
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x38(%rsp), %rsi
testq %rsi, %rsi
je 0x2af86
leaq 0x38(%rsp), %rdi
callq 0x153ca
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x2af9d
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
testb %bl, %bl
je 0x2b397
leaq 0x43898(%rip), %rsi     # 0x6e844
leaq 0x58(%rsp), %rbx
movq %rbx, %rdi
callq 0x29a42
movq 0x8(%rbx), %rax
movq %rax, 0x50(%rsp)
leaq 0x433d7(%rip), %rsi     # 0x6e3a0
leaq 0xa8(%rsp), %rdi
callq 0x200cc
leaq 0x41f16(%rip), %rcx     # 0x6cef3
leaq 0xf(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0xa8(%rsp), %rdx
callq 0x2cfe0
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b015
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0xd530
movb 0xf(%rsp), %al
movl %eax, %ecx
xorb $0x1, %cl
movb %cl, 0x18(%rsp)
movq $0x0, 0x20(%rsp)
testb %al, %al
je 0x2b0e3
leaq 0x20(%rsp), %r14
leaq 0x10(%rsp), %rdi
callq 0x4ca86
leaq 0x4336b(%rip), %rdx     # 0x6e3b4
leaq 0x410bc(%rip), %rcx     # 0x6c10c
leaq 0x410af(%rip), %r8      # 0x6c106
leaq 0x30(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46893
movq 0x30(%rsp), %r8
leaq 0x432e0(%rip), %rdx     # 0x6e352
leaq 0x28(%rsp), %rdi
movl $0x2, %esi
movl $0x2d, %ecx
callq 0x4902a
leaq 0x28(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x46a1c
leaq 0x28(%rsp), %rdi
callq 0x49096
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b0ba
movq 0x40(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2b0ca
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x20(%rsp), %rsi
testq %rsi, %rsi
je 0x2b0dc
movq %r14, %rdi
callq 0x153ca
xorl %ebx, %ebx
jmp 0x2b185
leaq 0x60(%rsp), %rcx
leaq 0x432bd(%rip), %rsi     # 0x6e3ac
leaq 0x41ecb(%rip), %rdx     # 0x6cfc1
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %r8
callq 0x2d35e
movb 0x30(%rsp), %bl
testb %bl, %bl
jne 0x2b171
leaq 0x18(%rsp), %rdi
callq 0x4ca86
movq 0x38(%rsp), %rax
testq %rax, %rax
je 0x2b126
movq (%rax), %r8
jmp 0x2b12d
leaq 0x43ea8(%rip), %r8      # 0x6efd5
leaq 0x4321e(%rip), %rdx     # 0x6e352
leaq 0x10(%rsp), %rdi
movl $0x2, %esi
movl $0x2e, %ecx
callq 0x4902a
leaq 0x10(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46a1c
leaq 0x10(%rsp), %rdi
callq 0x49096
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2b171
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x38(%rsp), %rsi
testq %rsi, %rsi
je 0x2b185
leaq 0x38(%rsp), %rdi
callq 0x153ca
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x2b19c
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
testb %bl, %bl
je 0x2b397
leaq 0x436a4(%rip), %rsi     # 0x6e84f
leaq 0x58(%rsp), %rbx
movq %rbx, %rdi
callq 0x29a42
movq 0x8(%rbx), %rax
movq %rax, 0x50(%rsp)
leaq 0x431d8(%rip), %rsi     # 0x6e3a0
leaq 0x80(%rsp), %rdi
callq 0x200cc
leaq 0x41d17(%rip), %rcx     # 0x6cef3
leaq 0xf(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x2cfe0
leaq 0x90(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b214
movq 0x90(%rsp), %rsi
incq %rsi
callq 0xd530
movb 0xf(%rsp), %al
movl %eax, %ecx
xorb $0x1, %cl
movb %cl, 0x18(%rsp)
movq $0x0, 0x20(%rsp)
testb %al, %al
je 0x2b2df
leaq 0x10(%rsp), %rdi
callq 0x4ca86
leaq 0x20(%rsp), %r14
leaq 0x4316c(%rip), %rdx     # 0x6e3b4
leaq 0x40ebd(%rip), %rcx     # 0x6c10c
leaq 0x40eb0(%rip), %r8      # 0x6c106
leaq 0x30(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46893
movq 0x30(%rsp), %r8
leaq 0x430e1(%rip), %rdx     # 0x6e352
leaq 0x28(%rsp), %rdi
movl $0x2, %esi
movl $0x36, %ecx
callq 0x4902a
leaq 0x28(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x46a1c
leaq 0x28(%rsp), %rdi
callq 0x49096
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b2b9
movq 0x40(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2b2c9
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x20(%rsp), %rsi
testq %rsi, %rsi
je 0x2b380
movq %r14, %rdi
jmp 0x2b37b
leaq 0x60(%rsp), %rcx
leaq 0x430c1(%rip), %rsi     # 0x6e3ac
leaq 0x41ccf(%rip), %rdx     # 0x6cfc1
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %r8
callq 0x2d35e
cmpb $0x0, 0x30(%rsp)
jne 0x2b36c
leaq 0x18(%rsp), %rdi
callq 0x4ca86
movq 0x38(%rsp), %rax
testq %rax, %rax
je 0x2b321
movq (%rax), %r8
jmp 0x2b328
leaq 0x43cad(%rip), %r8      # 0x6efd5
leaq 0x43023(%rip), %rdx     # 0x6e352
leaq 0x10(%rsp), %rdi
movl $0x2, %esi
movl $0x37, %ecx
callq 0x4902a
leaq 0x10(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46a1c
leaq 0x10(%rsp), %rdi
callq 0x49096
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2b36c
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x38(%rsp), %rsi
testq %rsi, %rsi
je 0x2b380
leaq 0x38(%rsp), %rdi
callq 0x153ca
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x2b397
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r14
retq
jmp 0x2b4b4
jmp 0x2b4c3
jmp 0x2b4d8
jmp 0x2b517
jmp 0x2b526
jmp 0x2b546
jmp 0x2b59a
jmp 0x2b59a
jmp 0x2b4b4
jmp 0x2b4c3
jmp 0x2b4d8
movq %rax, %rbx
leaq 0x90(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b59d
movq 0x90(%rsp), %rsi
jmp 0x2b590
jmp 0x2b59a
jmp 0x2b517
jmp 0x2b526
jmp 0x2b546
jmp 0x2b59a
jmp 0x2b55b
jmp 0x2b4b4
jmp 0x2b4c3
jmp 0x2b4d8
movq %rax, %rbx
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b59d
movq 0xb8(%rsp), %rsi
jmp 0x2b590
jmp 0x2b59a
jmp 0x2b517
jmp 0x2b526
jmp 0x2b546
jmp 0x2b55b
jmp 0x2b59a
jmp 0x2b4b4
jmp 0x2b4c3
jmp 0x2b4d8
movq %rax, %rbx
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b59d
movq 0xe0(%rsp), %rsi
jmp 0x2b590
jmp 0x2b59a
jmp 0x2b517
jmp 0x2b526
jmp 0x2b546
jmp 0x2b59a
jmp 0x2b55b
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x49096
jmp 0x2b4c6
movq %rax, %rbx
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2b4db
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x2b4db
movq %rax, %rbx
movq 0x38(%rsp), %rsi
testq %rsi, %rsi
je 0x2b59d
leaq 0x38(%rsp), %rdi
jmp 0x2b56b
movq %rax, %rbx
leaq 0x108(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b59d
movq 0x108(%rsp), %rsi
jmp 0x2b590
jmp 0x2b59a
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x49096
jmp 0x2b529
movq %rax, %rbx
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b549
movq 0x40(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x2b549
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2b55e
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x2b55e
movq %rax, %rbx
movq 0x20(%rsp), %rsi
testq %rsi, %rsi
je 0x2b59d
movq %r14, %rdi
callq 0x153ca
jmp 0x2b59d
jmp 0x2b59a
movq %rax, %rbx
leaq 0x130(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b59d
movq 0x130(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x2b59d
movq %rax, %rbx
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x2b5b4
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
movq %rbx, %rdi
callq 0xda70