// File: metastableB[P]Program-Dependence-Graph-Creator/./pdg.cpp
// Function: PDG::plot_cdg()
void PDG::plot_cdg(){
	std::string edges;
	for(int i = 0; i <= total_lines;i++)
		for(int j = 0; j <= total_lines;j++)
			if(g_cdg[i][j] != 0)
				edges += "("+std::to_string(i) + "," + std::to_string(j) + ")|";
	std::string command = "python ./networkX/simplePlot.py \'" + edges + "\'";
	system(command.c_str());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x148(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x33c0
movl $0x0, -0x2c(%rbp)
movq -0x148(%rbp), %rcx
movl -0x2c(%rbp), %eax
cmpl 0x214(%rcx), %eax
jg 0x4e37
movl $0x0, -0x30(%rbp)
movq -0x148(%rbp), %rcx
movl -0x30(%rbp), %eax
cmpl 0x214(%rcx), %eax
jg 0x4e27
movq -0x148(%rbp), %rax
movq 0x260(%rax), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
je 0x4e17
movl -0x2c(%rbp), %esi
leaq -0xd0(%rbp), %rdi
callq 0x6450
jmp 0x4c72
leaq 0x549c(%rip), %rsi      # 0xa115
leaq -0xb0(%rbp), %rdi
leaq -0xd0(%rbp), %rdx
callq 0x6400
jmp 0x4c8e
leaq 0x5482(%rip), %rdx      # 0xa117
leaq -0x90(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x5fe0
jmp 0x4caa
movl -0x30(%rbp), %esi
leaq -0x100(%rbp), %rdi
callq 0x6450
jmp 0x4cbb
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rsi
leaq -0x100(%rbp), %rdx
callq 0x6330
jmp 0x4cd4
leaq 0x543e(%rip), %rdx      # 0xa119
leaq -0x50(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x5fe0
jmp 0x4cea
leaq -0x28(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x3380
jmp 0x4cf9
leaq -0x50(%rbp), %rdi
callq 0x31a0
leaq -0x70(%rbp), %rdi
callq 0x31a0
leaq -0x100(%rbp), %rdi
callq 0x31a0
leaq -0x90(%rbp), %rdi
callq 0x31a0
leaq -0xb0(%rbp), %rdi
callq 0x31a0
leaq -0xd0(%rbp), %rdi
callq 0x31a0
jmp 0x4e17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0x4eea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0x4e06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0x4dfa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0x4dee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0x4de2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0x4dd9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x31a0
leaq -0x70(%rbp), %rdi
callq 0x31a0
leaq -0x100(%rbp), %rdi
callq 0x31a0
leaq -0x90(%rbp), %rdi
callq 0x31a0
leaq -0xb0(%rbp), %rdi
callq 0x31a0
leaq -0xd0(%rbp), %rdi
callq 0x31a0
jmp 0x4eea
jmp 0x4e19
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x4c27
jmp 0x4e29
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x4c0a
leaq 0x52de(%rip), %rsi      # 0xa11c
leaq -0x140(%rbp), %rdi
leaq -0x28(%rbp), %rdx
callq 0x6030
jmp 0x4e50
leaq 0x52e5(%rip), %rdx      # 0xa13c
leaq -0x120(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x5fe0
jmp 0x4e6c
leaq -0x140(%rbp), %rdi
callq 0x31a0
leaq -0x120(%rbp), %rdi
callq 0x3130
movq %rax, %rdi
callq 0x3230
jmp 0x4e8e
leaq -0x120(%rbp), %rdi
callq 0x31a0
leaq -0x28(%rbp), %rdi
callq 0x31a0
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x31a0
jmp 0x4eea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
leaq -0x120(%rbp), %rdi
callq 0x31a0
leaq -0x28(%rbp), %rdi
callq 0x31a0
movq -0xd8(%rbp), %rdi
callq 0x3470
nop