// File: /workspace/github_cpp_makefile_star2_O2/davmac314[P]dinit/src/load-service.cc
// Function: do_env_subst(char const*, ha_string&, std::__cxx11::list<std::pair<unsigned int, unsigned int>, std::allocator<std::pair<unsigned int, unsigned int>>>&, environment::env_map const&, char const*)
static void do_env_subst(const char *setting_name, ha_string &line,
        std::list<std::pair<unsigned,unsigned>> &offsets,
        environment::env_map const &envmap, const char *arg)
{
    using namespace dinit_load;
    std::string line_s = std::string(line.c_str(), line.length());
    value_var_subst(setting_name, line_s, offsets, [&](const std::string &name) {
        return resolve_env_var(name, envmap);
    }, arg);
    line = line_s;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %r8, 0x80(%rsp)
movq %rcx, 0xb0(%rsp)
movq %rdx, 0x28(%rsp)
movq %rsi, %r14
movq %rdi, 0x10(%rsp)
movq (%rsi), %rsi
leaq 0x98(%rsp), %rax
movq 0x8(%r14), %rdx
addq %rsi, %rdx
movq %rax, -0x10(%rax)
leaq 0x88(%rsp), %rbx
movq %rbx, %rdi
callq 0xcd00
pushq $0x24
popq %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x87e0
cmpq $-0x1, %rax
je 0x126d1
movq %rax, %r15
movq %r14, 0xa8(%rsp)
movq 0x90(%rsp), %rax
shrq $0x1f, %rax
jne 0x1293d
movq 0x28(%rsp), %rax
movq (%rax), %rbx
leaq 0x70(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
xorl %r13d, %r13d
xorl %r14d, %r14d
cmpq 0x28(%rsp), %rbx
je 0x12694
addl %r13d, 0x10(%rbx)
xorl %ebp, %ebp
movl $0x0, 0xc(%rsp)
movl 0x14(%rbx), %eax
cmpq %rax, %r15
jae 0x1264d
movl %r14d, %edx
movq %r15, %rcx
subq %rdx, %rcx
leaq 0x60(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x8870
movq 0x88(%rsp), %rax
movb 0x1(%rax,%r15), %r14b
cmpb $0x24, %r14b
jne 0x122fe
leaq 0x60(%rsp), %rdi
pushq $0x24
popq %rsi
callq 0x8510
addl $0x2, %r15d
decl %r13d
jmp 0x1262f
leaq 0x1(%r15), %rcx
movl 0x14(%rbx), %r12d
addq %rax, %r12
leaq 0x2(%r15), %rdx
cmpb $0x2f, %r14b
cmovneq %rcx, %rdx
leaq (%rax,%rdx), %rcx
movb (%rax,%rdx), %bpl
xorl %eax, %eax
cmpb $0x7b, %bpl
sete %al
addq %rcx, %rax
movq %rax, 0x20(%rsp)
movb $0x0, 0x6(%rsp)
leaq 0xb8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
movq %r12, %rdx
pushq $0x1
popq %rcx
leaq 0x6(%rsp), %r8
callq 0x1abc5
cmpq $0x0, 0xc0(%rsp)
je 0x12753
cmpb $0x1, 0x6(%rsp)
jne 0x12382
leaq 0xb8(%rsp), %rdi
leaq 0x1e42a(%rip), %rsi     # 0x3079f
callq 0x1ad8a
testb %al, %al
jne 0x1284c
movb %r14b, 0x7(%rsp)
movl $0x0, 0x8(%rsp)
movq 0x20(%rsp), %r14
cmpb $0x7b, %bpl
jne 0x12405
movb (%r14), %cl
movq %r14, %rax
cmpb $0x3a, %cl
sete %r8b
jne 0x123c5
leaq 0x1(%r14), %rax
movq %rax, 0x20(%rsp)
movzbl 0x1(%r14), %ecx
cmpl $0x2b, %ecx
je 0x123c5
cmpl $0x2d, %ecx
jne 0x128ef
cmpb $0x2d, %cl
je 0x123d4
movzbl %cl, %edx
xorl %edi, %edi
cmpl $0x2b, %edx
jne 0x12414
movq %rax, %r14
incq %rax
movq %rax, %rsi
movq %rsi, %rdi
movq %rsi, 0x20(%rsp)
movb (%rsi), %dl
incq %rsi
incq %r14
cmpq %r12, %rdi
je 0x123f7
cmpb $0x7d, %dl
jne 0x123dd
movsbl %cl, %edi
movq %rax, %rcx
decq %rsi
movq %rsi, %rax
jmp 0x12419
movq %r14, 0x50(%rsp)
movl $0x0, 0x1c(%rsp)
jmp 0x12438
movl %ecx, %edx
movq %r14, %rcx
cmpb $0x7d, %dl
jne 0x127f9
movl %edi, 0x8(%rsp)
movq %rcx, 0x50(%rsp)
movl %r8d, 0x1c(%rsp)
incq %rax
movq %rax, 0x20(%rsp)
movq 0x68(%rsp), %rbp
cmpb $0x0, 0x6(%rsp)
movq 0x80(%rsp), %r12
jne 0x12464
leaq 0xb8(%rsp), %rdi
movq 0xb0(%rsp), %rsi
callq 0x16f56
movq %rax, %r12
movq %rbp, 0x58(%rsp)
testq %r12, %r12
je 0x1247b
movq %r12, %rdi
callq 0x8220
movq %rax, %rbp
jmp 0x1247d
xorl %ebp, %ebp
movl 0x8(%rsp), %eax
cmpl $0x2b, %eax
je 0x124a0
cmpl $0x2d, %eax
jne 0x124c0
testq %r12, %r12
je 0x124b3
cmpb $0x0, 0x1c(%rsp)
je 0x124da
cmpb $0x0, (%r12)
jne 0x124da
jmp 0x124b3
testq %r12, %r12
je 0x124d7
cmpb $0x0, 0x1c(%rsp)
je 0x124b3
cmpb $0x0, (%r12)
je 0x124da
movq 0x50(%rsp), %r12
subq %r12, %r14
movq %r14, %rbp
jmp 0x124da
cmpq $0x0, 0x80(%rsp)
jne 0x124da
cmpb $0x0, 0x6(%rsp)
je 0x124da
jmp 0x1289f
xorl %r12d, %r12d
movl 0x20(%rsp), %eax
subl 0x88(%rsp), %eax
movl %eax, 0x8(%rsp)
subl %eax, %r15d
addl %r15d, %r13d
cmpb $0x2f, 0x7(%rsp)
jne 0x125bc
addq %r12, %rbp
movq %r12, %rdi
movq %rbp, %rsi
callq 0x1ad94
cmpq %rbp, %rax
je 0x125e0
movq %rax, %r15
movq %rax, %rdx
subq %r12, %rdx
je 0x12529
leaq 0x60(%rsp), %rdi
movq %r12, %rsi
callq 0x8070
movl 0x10(%rbx), %eax
movl 0x14(%rbx), %r12d
movq 0x68(%rsp), %r14
cmpq %rax, %r14
jne 0x12541
testb $0x1, 0xc(%rsp)
je 0x125a1
movl %r14d, 0x14(%rbx)
leaq 0x60(%rsp), %rdi
pushq $0x20
popq %rsi
callq 0x8510
incq %r14
testq $-0x80000000, %r14      # imm = 0x80000000
jne 0x12700
movq %rbx, %rdi
pushq $0x1
popq %rsi
callq 0x1add0
movl 0x68(%rsp), %ecx
movl %ecx, 0x30(%rsp)
movl %r12d, 0x34(%rsp)
movq 0x28(%rsp), %rdi
movq %rax, %rsi
leaq 0x30(%rsp), %rdx
callq 0x1ae7c
movq %rax, %rbx
subl 0x58(%rsp), %r13d
addl %r14d, %r13d
movq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
movq %r15, %rdi
movq %rbp, %rsi
callq 0x1adee
movq %rax, %r12
movl $0x0, 0xc(%rsp)
jmp 0x124fd
movb $0x1, %al
movl %eax, 0xc(%rsp)
testq %rbp, %rbp
je 0x12602
leaq 0x60(%rsp), %rdi
movq %r12, %rsi
movq %rbp, %rdx
callq 0x8070
movl 0x8(%rsp), %r15d
xorl %ebp, %ebp
jmp 0x12609
cmpq %rbp, %r12
je 0x125f8
subq %r12, %rbp
leaq 0x60(%rsp), %rdi
movq %r12, %rsi
movq %rbp, %rdx
callq 0x8070
movl 0xc(%rsp), %ebp
xorb $0x1, %bpl
jmp 0x12604
xorl %ebp, %ebp
movl 0x8(%rsp), %r15d
movq 0x68(%rsp), %rax
testq $-0x80000000, %rax      # imm = 0x80000000
jne 0x127a6
subl 0x58(%rsp), %r13d
addl %eax, %r13d
leaq 0xb8(%rsp), %rdi
callq 0x8b98
movl %r15d, %r14d
movl %r15d, %edx
leaq 0x88(%rsp), %rdi
pushq $0x24
popq %rsi
callq 0x87e0
movq %rax, %r15
jmp 0x122ab
addl %r13d, %eax
movl %eax, 0x14(%rbx)
testb $0x1, %bpl
je 0x1268f
cmpl %eax, 0x10(%rbx)
jne 0x1268f
movq 0x28(%rsp), %rdi
movq %rbx, %rsi
callq 0x1ae2a
movq %rax, %rbx
cmpq 0x28(%rsp), %rbx
je 0x12292
movl 0x14(%rbx), %eax
cmpq %rax, %r15
jbe 0x12292
addl %r13d, 0x10(%rbx)
addl %r13d, %eax
movl %eax, 0x14(%rbx)
movq (%rbx), %rbx
jmp 0x1266e
movl %r14d, %edx
leaq 0x60(%rsp), %rdi
leaq 0x88(%rsp), %rsi
pushq $-0x1
popq %rcx
callq 0x8870
leaq 0x88(%rsp), %rdi
leaq 0x60(%rsp), %rbx
movq %rbx, %rsi
callq 0x8730
movq %rbx, %rdi
callq 0x8b98
movq 0xa8(%rsp), %r14
leaq 0x88(%rsp), %rsi
movq %r14, %rdi
callq 0x1ab6c
leaq 0x88(%rsp), %rdi
callq 0x8b98
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
pushq $0x70
popq %rdi
callq 0x82c0
movq %rax, %r14
leaq 0x1c5ad(%rip), %rsi     # 0x2ecbf
leaq 0x30(%rsp), %rdi
leaq 0x5(%rsp), %rdx
callq 0xcc4e
movb $0x1, %bpl
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
movq 0x10(%rsp), %rsi
callq 0x1ad3e
xorl %ebp, %ebp
leaq 0x31759(%rip), %rsi     # 0x43e98
leaq 0x862e(%rip), %rdx      # 0x1ad74
movq %r14, %rdi
callq 0x8a80
jmp 0x1293d
pushq $0x70
popq %rdi
callq 0x82c0
movq %rax, %r14
leaq 0x1c493(%rip), %rsi     # 0x2ebf8
leaq 0x30(%rsp), %rdi
leaq 0x5(%rsp), %rdx
callq 0xcc4e
movb $0x1, %bpl
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
movq 0x10(%rsp), %rsi
callq 0x1ad3e
xorl %ebp, %ebp
leaq 0x31706(%rip), %rsi     # 0x43e98
leaq 0x85db(%rip), %rdx      # 0x1ad74
movq %r14, %rdi
callq 0x8a80
jmp 0x1293d
pushq $0x70
popq %rdi
callq 0x82c0
movq %rax, %r14
leaq 0x1c507(%rip), %rsi     # 0x2ecbf
leaq 0x30(%rsp), %rdi
leaq 0x5(%rsp), %rdx
callq 0xcc4e
movb $0x1, %bpl
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
movq 0x10(%rsp), %rsi
callq 0x1ad3e
xorl %ebp, %ebp
leaq 0x316b3(%rip), %rsi     # 0x43e98
leaq 0x8588(%rip), %rdx      # 0x1ad74
movq %r14, %rdi
callq 0x8a80
jmp 0x1293d
pushq $0x70
popq %rdi
callq 0x82c0
movq %rax, %r14
leaq 0x1c466(%rip), %rsi     # 0x2ec71
leaq 0x30(%rsp), %rdi
leaq 0x5(%rsp), %rdx
callq 0xcc4e
movb $0x1, %bpl
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
movq 0x10(%rsp), %rsi
callq 0x1ad3e
xorl %ebp, %ebp
leaq 0x31660(%rip), %rsi     # 0x43e98
leaq 0x8535(%rip), %rdx      # 0x1ad74
movq %r14, %rdi
callq 0x8a80
jmp 0x1293d
pushq $0x70
popq %rdi
callq 0x82c0
movq %rax, %r14
leaq 0x1c3c2(%rip), %rsi     # 0x2ec20
leaq 0x30(%rsp), %rdi
leaq 0x5(%rsp), %rdx
callq 0xcc4e
movb $0x1, %bpl
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
movq 0x10(%rsp), %rsi
callq 0x1ad3e
xorl %ebp, %ebp
leaq 0x3160d(%rip), %rsi     # 0x43e98
leaq 0x84e2(%rip), %rdx      # 0x1ad74
movq %r14, %rdi
callq 0x8a80
jmp 0x1293d
pushq $0x70
popq %rdi
callq 0x82c0
movq %rax, %r14
leaq 0x1c3e7(%rip), %rsi     # 0x2ec98
leaq 0x30(%rsp), %rdi
leaq 0x5(%rsp), %rdx
callq 0xcc4e
movb $0x1, %bpl
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
movq 0x10(%rsp), %rsi
callq 0x1ad3e
xorl %ebp, %ebp
leaq 0x315ba(%rip), %rsi     # 0x43e98
leaq 0x848f(%rip), %rdx      # 0x1ad74
movq %r14, %rdi
callq 0x8a80
jmp 0x1293d
pushq $0x70
popq %rdi
callq 0x82c0
movq %rax, %r14
leaq 0x1c348(%rip), %rsi     # 0x2ec49
leaq 0x30(%rsp), %rdi
leaq 0x5(%rsp), %rdx
callq 0xcc4e
movb $0x1, %bpl
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
movq 0x10(%rsp), %rsi
callq 0x1ad3e
xorl %ebp, %ebp
leaq 0x3156a(%rip), %rsi     # 0x43e98
leaq 0x843f(%rip), %rdx      # 0x1ad74
movq %r14, %rdi
callq 0x8a80
pushq $0x10
popq %rdi
callq 0x82c0
movq %rax, %r14
leaq 0x1c299(%rip), %rsi     # 0x2ebe8
movq %rax, %rdi
callq 0x86c0
movq 0x3264a(%rip), %rsi     # 0x44fa8
movq 0x325f3(%rip), %rdx     # 0x44f58
movq %r14, %rdi
callq 0x8a80
jmp 0x1297e
movq %rax, %rbx
movq %r14, %rdi
callq 0x8440
jmp 0x129e9
jmp 0x129a3
movq %rax, %rbx
jmp 0x129e9
jmp 0x129a8
jmp 0x129bc
jmp 0x129a8
jmp 0x129bc
jmp 0x129a8
jmp 0x129bc
jmp 0x129a8
jmp 0x129bc
jmp 0x129cf
jmp 0x129cf
jmp 0x129a8
jmp 0x129bc
jmp 0x129a8
jmp 0x129bc
jmp 0x129cf
jmp 0x129cf
movq %rax, %rbx
jmp 0x129df
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x8b98
testb %bpl, %bpl
jne 0x129bf
jmp 0x129d2
movq %rax, %rbx
movq %r14, %rdi
callq 0x8440
jmp 0x129d2
jmp 0x129cf
jmp 0x129cf
jmp 0x129cf
movq %rax, %rbx
leaq 0xb8(%rsp), %rdi
callq 0x8b98
leaq 0x60(%rsp), %rdi
callq 0x8b98
leaq 0x88(%rsp), %rdi
callq 0x8b98
movq %rbx, %rdi
callq 0x8a90