// File: /workspace/github_cpp_makefile_star2_O1/eschwabe[P]interview-practice/src/convert.cpp
// Function: main
int main()
{
    cout << StringToInt("-100") << endl;
    cout << StringToInt("101") << endl;
    cout << StringToInt("3") << endl;
    cout << StringToInt("32340357") << endl;
    cout << StringToInt("0") << endl;
    cout << StringToInt("-1") << endl;

    cout << IntToString(100) << endl;
    cout << IntToString(-101) << endl;
    cout << IntToString(1287234) << endl;
    cout << IntToString(-19467) << endl;
    cout << IntToString(0) << endl;
    cout << IntToString(-1) << endl;
    return 0;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xcb4(%rip), %rsi       # 0x2004
leaq 0xcb1(%rip), %rdx       # 0x2008
movq %rsp, %rdi
callq 0x19d2
movq (%rsp), %rcx
movq 0x8(%rsp), %rdx
movb (%rcx), %al
xorl %esi, %esi
cmpb $0x2d, %al
sete %sil
xorl %edi, %edi
cmpq %rsi, %rdx
jbe 0x1392
xorl %edi, %edi
leal (%rdi,%rdi,4), %edi
movsbl (%rcx,%rsi), %r8d
leal (%r8,%rdi,2), %edi
addl $-0x30, %edi
incq %rsi
cmpq %rsi, %rdx
jne 0x137b
movl %edi, %esi
negl %esi
cmpb $0x2d, %al
cmovnel %edi, %esi
movq 0x2c36(%rip), %rdi      # 0x3fd8
callq 0x10c0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1080
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x13e7
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0xc15(%rip), %rsi       # 0x2009
leaq 0xc11(%rip), %rdx       # 0x200c
callq 0x19d2
movq (%rsp), %rcx
movq 0x8(%rsp), %rdx
movb (%rcx), %al
xorl %esi, %esi
cmpb $0x2d, %al
sete %sil
xorl %edi, %edi
cmpq %rsi, %rdx
jbe 0x1433
xorl %edi, %edi
leal (%rdi,%rdi,4), %edi
movsbl (%rcx,%rsi), %r8d
leal (%r8,%rdi,2), %edi
addl $-0x30, %edi
incq %rsi
cmpq %rsi, %rdx
jne 0x141c
movl %edi, %esi
negl %esi
cmpb $0x2d, %al
cmovnel %edi, %esi
movq 0x2b95(%rip), %rdi      # 0x3fd8
callq 0x10c0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1080
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x1488
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0xb78(%rip), %rsi       # 0x200d
leaq 0xb72(%rip), %rdx       # 0x200e
callq 0x19d2
movq (%rsp), %rcx
movq 0x8(%rsp), %rdx
movb (%rcx), %al
xorl %esi, %esi
cmpb $0x2d, %al
sete %sil
xorl %edi, %edi
cmpq %rsi, %rdx
jbe 0x14d4
xorl %edi, %edi
leal (%rdi,%rdi,4), %edi
movsbl (%rcx,%rsi), %r8d
leal (%r8,%rdi,2), %edi
addl $-0x30, %edi
incq %rsi
cmpq %rsi, %rdx
jne 0x14bd
movl %edi, %esi
negl %esi
cmpb $0x2d, %al
cmovnel %edi, %esi
movq 0x2af4(%rip), %rdi      # 0x3fd8
callq 0x10c0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1080
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x1529
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0xad9(%rip), %rsi       # 0x200f
leaq 0xada(%rip), %rdx       # 0x2017
callq 0x19d2
movq (%rsp), %rcx
movq 0x8(%rsp), %rdx
movb (%rcx), %al
xorl %esi, %esi
cmpb $0x2d, %al
sete %sil
xorl %edi, %edi
cmpq %rsi, %rdx
jbe 0x1575
xorl %edi, %edi
leal (%rdi,%rdi,4), %edi
movsbl (%rcx,%rsi), %r8d
leal (%r8,%rdi,2), %edi
addl $-0x30, %edi
incq %rsi
cmpq %rsi, %rdx
jne 0x155e
movl %edi, %esi
negl %esi
cmpb $0x2d, %al
cmovnel %edi, %esi
movq 0x2a53(%rip), %rdi      # 0x3fd8
callq 0x10c0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1080
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x15ca
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0xa30(%rip), %rsi       # 0x2007
leaq 0xa2a(%rip), %rdx       # 0x2008
callq 0x19d2
movq (%rsp), %rcx
movq 0x8(%rsp), %rdx
movb (%rcx), %al
xorl %esi, %esi
cmpb $0x2d, %al
sete %sil
xorl %edi, %edi
cmpq %rsi, %rdx
jbe 0x1616
xorl %edi, %edi
leal (%rdi,%rdi,4), %edi
movsbl (%rcx,%rsi), %r8d
leal (%r8,%rdi,2), %edi
addl $-0x30, %edi
incq %rsi
cmpq %rsi, %rdx
jne 0x15ff
movl %edi, %esi
negl %esi
cmpb $0x2d, %al
cmovnel %edi, %esi
movq 0x29b2(%rip), %rdi      # 0x3fd8
callq 0x10c0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1080
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x166b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0x9a0(%rip), %rsi       # 0x2018
leaq 0x99b(%rip), %rdx       # 0x201a
callq 0x19d2
movq (%rsp), %rcx
movq 0x8(%rsp), %rdx
movb (%rcx), %al
xorl %esi, %esi
cmpb $0x2d, %al
sete %sil
xorl %edi, %edi
cmpq %rsi, %rdx
jbe 0x16b7
xorl %edi, %edi
leal (%rdi,%rdi,4), %edi
movsbl (%rcx,%rsi), %r8d
leal (%r8,%rdi,2), %edi
addl $-0x30, %edi
incq %rsi
cmpq %rsi, %rdx
jne 0x16a0
movl %edi, %esi
negl %esi
cmpb $0x2d, %al
cmovnel %edi, %esi
movq 0x2911(%rip), %rdi      # 0x3fd8
callq 0x10c0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1080
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x170c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
leaq 0x24(%rsp), %rsi
movl $0x64, (%rsi)
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x1269
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq 0x28a8(%rip), %rdi      # 0x3fd8
callq 0x10a0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1080
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x1775
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
leaq 0x24(%rsp), %rsi
movl $0xffffff9b, (%rsi)     # imm = 0xFFFFFF9B
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x1269
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq 0x283f(%rip), %rdi      # 0x3fd8
callq 0x10a0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1080
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x17de
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
leaq 0x24(%rsp), %rsi
movl $0x13a442, (%rsi)       # imm = 0x13A442
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x1269
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq 0x27d6(%rip), %rdi      # 0x3fd8
callq 0x10a0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1080
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x1847
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
leaq 0x24(%rsp), %rsi
movl $0xffffb3f5, (%rsi)     # imm = 0xFFFFB3F5
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x1269
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq 0x276d(%rip), %rdi      # 0x3fd8
callq 0x10a0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1080
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x18b0
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
leaq 0x24(%rsp), %rsi
movl $0x0, (%rsi)
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x1269
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq 0x2704(%rip), %rdi      # 0x3fd8
callq 0x10a0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1080
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x1919
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
leaq 0x24(%rsp), %rsi
movl $0xffffffff, (%rsi)     # imm = 0xFFFFFFFF
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x1269
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq 0x269b(%rip), %rdi      # 0x3fd8
callq 0x10a0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1080
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x1982
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
xorl %eax, %eax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
jmp 0x1996
jmp 0x1996
jmp 0x1996
jmp 0x1996
jmp 0x1996
movq %rax, %rbx
jmp 0x19ca
jmp 0x19b1
jmp 0x19b1
jmp 0x19b1
jmp 0x19b1
jmp 0x19b1
jmp 0x19b1
jmp 0x19b1
jmp 0x19b1
jmp 0x19b1
jmp 0x19b1
jmp 0x19b1
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x19ca
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1090
movq %rbx, %rdi
callq 0x10d0