// File: devvoid[P]vini/test.cpp
// Function: main
int main() {
    Vini file("test.ini");

    string output_one = file.get("test", "key", "default");

    cout << output_one << endl;

    string output_two = file.get("test", "secondkey", "defaultvalue");

    cout << output_two << endl;

    string output_three = file.get("anothertest", "othertest", "default");

    cout << output_three << endl;

    file.set("athirdtest", "keyone", "This works!");

    string output_four = file.get("athirdtest", "keyone", "This didn't work!");

    cout << output_four << endl;

    file.save("test_output.ini");

    cout << "Check test_output.ini for final results." << endl;

    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x420, %rsp            # imm = 0x420
movl $0x0, -0x4(%rbp)
leaq -0x59(%rbp), %rdi
movq %rdi, -0x378(%rbp)
callq 0x33d0
movq -0x378(%rbp), %rdx
leaq 0x6a84(%rip), %rsi      # 0xa014
leaq -0x58(%rbp), %rdi
callq 0x3fb0
jmp 0x359b
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x4060
jmp 0x35aa
leaq -0x58(%rbp), %rdi
callq 0x3170
leaq -0x59(%rbp), %rdi
callq 0x32d0
leaq -0xb1(%rbp), %rdi
movq %rdi, -0x380(%rbp)
callq 0x33d0
movq -0x380(%rbp), %rdx
leaq 0x6a71(%rip), %rsi      # 0xa04e
leaq -0xb0(%rbp), %rdi
callq 0x3fb0
jmp 0x35eb
leaq -0xd9(%rbp), %rdi
movq %rdi, -0x388(%rbp)
callq 0x33d0
movq -0x388(%rbp), %rdx
leaq 0x6a1f(%rip), %rsi      # 0xa02b
leaq -0xd8(%rbp), %rdi
callq 0x3fb0
jmp 0x361a
leaq -0x101(%rbp), %rdi
movq %rdi, -0x390(%rbp)
callq 0x33d0
movq -0x390(%rbp), %rdx
leaq 0x69e2(%rip), %rsi      # 0xa01d
leaq -0x100(%rbp), %rdi
callq 0x3fb0
jmp 0x3649
leaq -0x90(%rbp), %rdi
leaq -0x38(%rbp), %rsi
leaq -0xb0(%rbp), %rdx
leaq -0xd8(%rbp), %rcx
leaq -0x100(%rbp), %r8
callq 0x4210
jmp 0x3670
leaq -0x100(%rbp), %rdi
callq 0x3170
leaq -0x101(%rbp), %rdi
callq 0x32d0
leaq -0xd8(%rbp), %rdi
callq 0x3170
leaq -0xd9(%rbp), %rdi
callq 0x32d0
leaq -0xb0(%rbp), %rdi
callq 0x3170
leaq -0xb1(%rbp), %rdi
callq 0x32d0
movq 0xb919(%rip), %rdi      # 0xefd8
leaq -0x90(%rbp), %rsi
callq 0x3240
movq %rax, -0x398(%rbp)
jmp 0x36d4
movq -0x398(%rbp), %rdi
movq 0xb8e6(%rip), %rsi      # 0xefc8
callq 0x32b0
jmp 0x36e9
leaq -0x149(%rbp), %rdi
movq %rdi, -0x3a0(%rbp)
callq 0x33d0
movq -0x3a0(%rbp), %rdx
leaq 0x6944(%rip), %rsi      # 0xa04e
leaq -0x148(%rbp), %rdi
callq 0x3fb0
jmp 0x3718
leaq -0x171(%rbp), %rdi
movq %rdi, -0x3a8(%rbp)
callq 0x33d0
movq -0x3a8(%rbp), %rdx
leaq 0x68ec(%rip), %rsi      # 0xa025
leaq -0x170(%rbp), %rdi
callq 0x3fb0
jmp 0x3747
leaq -0x199(%rbp), %rdi
movq %rdi, -0x3b0(%rbp)
callq 0x33d0
movq -0x3b0(%rbp), %rdx
leaq 0x68c7(%rip), %rsi      # 0xa02f
leaq -0x198(%rbp), %rdi
callq 0x3fb0
jmp 0x3776
leaq -0x128(%rbp), %rdi
leaq -0x38(%rbp), %rsi
leaq -0x148(%rbp), %rdx
leaq -0x170(%rbp), %rcx
leaq -0x198(%rbp), %r8
callq 0x4210
jmp 0x379d
leaq -0x198(%rbp), %rdi
callq 0x3170
leaq -0x199(%rbp), %rdi
callq 0x32d0
leaq -0x170(%rbp), %rdi
callq 0x3170
leaq -0x171(%rbp), %rdi
callq 0x32d0
leaq -0x148(%rbp), %rdi
callq 0x3170
leaq -0x149(%rbp), %rdi
callq 0x32d0
movq 0xb7ec(%rip), %rdi      # 0xefd8
leaq -0x128(%rbp), %rsi
callq 0x3240
movq %rax, -0x3b8(%rbp)
jmp 0x3801
movq -0x3b8(%rbp), %rdi
movq 0xb7b9(%rip), %rsi      # 0xefc8
callq 0x32b0
jmp 0x3816
leaq -0x1e1(%rbp), %rdi
movq %rdi, -0x3c0(%rbp)
callq 0x33d0
movq -0x3c0(%rbp), %rdx
leaq 0x6805(%rip), %rsi      # 0xa03c
leaq -0x1e0(%rbp), %rdi
callq 0x3fb0
jmp 0x3845
leaq -0x209(%rbp), %rdi
movq %rdi, -0x3c8(%rbp)
callq 0x33d0
movq -0x3c8(%rbp), %rdx
leaq 0x67d8(%rip), %rsi      # 0xa03e
leaq -0x208(%rbp), %rdi
callq 0x3fb0
jmp 0x3874
leaq -0x231(%rbp), %rdi
movq %rdi, -0x3d0(%rbp)
callq 0x33d0
movq -0x3d0(%rbp), %rdx
leaq 0x6788(%rip), %rsi      # 0xa01d
leaq -0x230(%rbp), %rdi
callq 0x3fb0
jmp 0x38a3
leaq -0x1c0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
leaq -0x1e0(%rbp), %rdx
leaq -0x208(%rbp), %rcx
leaq -0x230(%rbp), %r8
callq 0x4210
jmp 0x38ca
leaq -0x230(%rbp), %rdi
callq 0x3170
leaq -0x231(%rbp), %rdi
callq 0x32d0
leaq -0x208(%rbp), %rdi
callq 0x3170
leaq -0x209(%rbp), %rdi
callq 0x32d0
leaq -0x1e0(%rbp), %rdi
callq 0x3170
leaq -0x1e1(%rbp), %rdi
callq 0x32d0
movq 0xb6bf(%rip), %rdi      # 0xefd8
leaq -0x1c0(%rbp), %rsi
callq 0x3240
movq %rax, -0x3d8(%rbp)
jmp 0x392e
movq -0x3d8(%rbp), %rdi
movq 0xb68c(%rip), %rsi      # 0xefc8
callq 0x32b0
jmp 0x3943
leaq -0x259(%rbp), %rdi
movq %rdi, -0x3e0(%rbp)
callq 0x33d0
movq -0x3e0(%rbp), %rdx
leaq 0x66e4(%rip), %rsi      # 0xa048
leaq -0x258(%rbp), %rdi
callq 0x3fb0
jmp 0x3972
leaq -0x281(%rbp), %rdi
movq %rdi, -0x3e8(%rbp)
callq 0x33d0
movq -0x3e8(%rbp), %rdx
leaq 0x66c0(%rip), %rsi      # 0xa053
leaq -0x280(%rbp), %rdi
callq 0x3fb0
jmp 0x39a1
leaq -0x2a9(%rbp), %rdi
movq %rdi, -0x3f0(%rbp)
callq 0x33d0
movq -0x3f0(%rbp), %rdx
leaq 0x6698(%rip), %rsi      # 0xa05a
leaq -0x2a8(%rbp), %rdi
callq 0x3fb0
jmp 0x39d0
leaq -0x38(%rbp), %rdi
leaq -0x258(%rbp), %rsi
leaq -0x280(%rbp), %rdx
leaq -0x2a8(%rbp), %rcx
callq 0x43c0
jmp 0x39f0
leaq -0x2a8(%rbp), %rdi
callq 0x3170
leaq -0x2a9(%rbp), %rdi
callq 0x32d0
leaq -0x280(%rbp), %rdi
callq 0x3170
leaq -0x281(%rbp), %rdi
callq 0x32d0
leaq -0x258(%rbp), %rdi
callq 0x3170
leaq -0x259(%rbp), %rdi
callq 0x32d0
leaq -0x2f1(%rbp), %rdi
movq %rdi, -0x3f8(%rbp)
callq 0x33d0
movq -0x3f8(%rbp), %rdx
leaq 0x65ef(%rip), %rsi      # 0xa048
leaq -0x2f0(%rbp), %rdi
callq 0x3fb0
jmp 0x3a67
leaq -0x319(%rbp), %rdi
movq %rdi, -0x400(%rbp)
callq 0x33d0
movq -0x400(%rbp), %rdx
leaq 0x65cb(%rip), %rsi      # 0xa053
leaq -0x318(%rbp), %rdi
callq 0x3fb0
jmp 0x3a96
leaq -0x341(%rbp), %rdi
movq %rdi, -0x408(%rbp)
callq 0x33d0
movq -0x408(%rbp), %rdx
leaq 0x65af(%rip), %rsi      # 0xa066
leaq -0x340(%rbp), %rdi
callq 0x3fb0
jmp 0x3ac5
leaq -0x2d0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
leaq -0x2f0(%rbp), %rdx
leaq -0x318(%rbp), %rcx
leaq -0x340(%rbp), %r8
callq 0x4210
jmp 0x3aec
leaq -0x340(%rbp), %rdi
callq 0x3170
leaq -0x341(%rbp), %rdi
callq 0x32d0
leaq -0x318(%rbp), %rdi
callq 0x3170
leaq -0x319(%rbp), %rdi
callq 0x32d0
leaq -0x2f0(%rbp), %rdi
callq 0x3170
leaq -0x2f1(%rbp), %rdi
callq 0x32d0
movq 0xb49d(%rip), %rdi      # 0xefd8
leaq -0x2d0(%rbp), %rsi
callq 0x3240
movq %rax, -0x410(%rbp)
jmp 0x3b50
movq -0x410(%rbp), %rdi
movq 0xb46a(%rip), %rsi      # 0xefc8
callq 0x32b0
jmp 0x3b65
leaq -0x369(%rbp), %rdi
movq %rdi, -0x418(%rbp)
callq 0x33d0
movq -0x418(%rbp), %rdx
leaq 0x64f2(%rip), %rsi      # 0xa078
leaq -0x368(%rbp), %rdi
callq 0x3fb0
jmp 0x3b94
leaq -0x38(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0x4410
jmp 0x3ba6
leaq -0x368(%rbp), %rdi
callq 0x3170
leaq -0x369(%rbp), %rdi
callq 0x32d0
movq 0xb413(%rip), %rdi      # 0xefd8
leaq 0x64bc(%rip), %rsi      # 0xa088
callq 0x3260
movq %rax, -0x420(%rbp)
jmp 0x3bda
movq -0x420(%rbp), %rdi
movq 0xb3e0(%rip), %rsi      # 0xefc8
callq 0x32b0
jmp 0x3bef
movl $0x0, -0x4(%rbp)
leaq -0x2d0(%rbp), %rdi
callq 0x3170
leaq -0x1c0(%rbp), %rdi
callq 0x3170
leaq -0x128(%rbp), %rdi
callq 0x3170
leaq -0x90(%rbp), %rdi
callq 0x3170
leaq -0x38(%rbp), %rdi
callq 0x4670
movl -0x4(%rbp), %eax
addq $0x420, %rsp            # imm = 0x420
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3c5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x3170
leaq -0x59(%rbp), %rdi
callq 0x32d0
jmp 0x3fa4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3cde
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3cc6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3cae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x3170
leaq -0x101(%rbp), %rdi
callq 0x32d0
leaq -0xd8(%rbp), %rdi
callq 0x3170
leaq -0xd9(%rbp), %rdi
callq 0x32d0
leaq -0xb0(%rbp), %rdi
callq 0x3170
leaq -0xb1(%rbp), %rdi
callq 0x32d0
jmp 0x3f9b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3f8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3d72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3d5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3d42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x3170
leaq -0x199(%rbp), %rdi
callq 0x32d0
leaq -0x170(%rbp), %rdi
callq 0x3170
leaq -0x171(%rbp), %rdi
callq 0x32d0
leaq -0x148(%rbp), %rdi
callq 0x3170
leaq -0x149(%rbp), %rdi
callq 0x32d0
jmp 0x3f8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3f83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3e06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3dee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3dd6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x3170
leaq -0x231(%rbp), %rdi
callq 0x32d0
leaq -0x208(%rbp), %rdi
callq 0x3170
leaq -0x209(%rbp), %rdi
callq 0x32d0
leaq -0x1e0(%rbp), %rdi
callq 0x3170
leaq -0x1e1(%rbp), %rdi
callq 0x32d0
jmp 0x3f83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3f77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3e9a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3e82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3e6a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x2a8(%rbp), %rdi
callq 0x3170
leaq -0x2a9(%rbp), %rdi
callq 0x32d0
leaq -0x280(%rbp), %rdi
callq 0x3170
leaq -0x281(%rbp), %rdi
callq 0x32d0
leaq -0x258(%rbp), %rdi
callq 0x3170
leaq -0x259(%rbp), %rdi
callq 0x32d0
jmp 0x3f77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3f1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3f05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3eed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x340(%rbp), %rdi
callq 0x3170
leaq -0x341(%rbp), %rdi
callq 0x32d0
leaq -0x318(%rbp), %rdi
callq 0x3170
leaq -0x319(%rbp), %rdi
callq 0x32d0
leaq -0x2f0(%rbp), %rdi
callq 0x3170
leaq -0x2f1(%rbp), %rdi
callq 0x32d0
jmp 0x3f77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3f6b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3f5f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x3170
leaq -0x369(%rbp), %rdi
callq 0x32d0
leaq -0x2d0(%rbp), %rdi
callq 0x3170
leaq -0x1c0(%rbp), %rdi
callq 0x3170
leaq -0x128(%rbp), %rdi
callq 0x3170
leaq -0x90(%rbp), %rdi
callq 0x3170
leaq -0x38(%rbp), %rdi
callq 0x4670
movq -0x68(%rbp), %rdi
callq 0x33c0
nopl (%rax)