// File: massykezzoul[P]jeu-de-la-vie/population/population.cpp
// Function: Population::Population(int, char const**)
Population::Population(int argc,const char** argv)
	:T(new Cellule[1]),generation(1),alive(0),alloc(1),probability(0.25),dimension(10),graine(0),speed(100000) {
	Option_tab tableau;
	int i = 1;
	int j = -1;
	float proba = -1;
	int dimension = -1;
	int speed = -1;
	string config = "";

	while (i < argc) {
		j = -1;
		if (tableau.is_nom(argv[i])) {
			// Est une option avec son nom long spécifié
			j = tableau.get_option(tableau.cherche(&argv[i][2]));
		} else if (tableau.is_raccourci(argv[i])) {
			// Est une option avec son raccourci spécifié
			j = tableau.get_option(tableau.cherche(argv[i][1]));
		}

		switch (j) {
			case 0:
				/* help */
				affiche_help();
				exit(0);
				break;
			case 1:
				/* version */
				affiche_version();
				exit(0);
				break;
			case 2:
				/* dimension */
				if ( (i + 1 < argc)  &&  (argv[i+1][0] != '-') ) {
					++i; // passe à l'argument de l'option
					dimension = strtod(argv[i],NULL); // recupere l'entier
				} else {
					cerr << "Argument manquant pour '" << argv[i] <<"'"
						<< endl;
				}	
				break;
			case 3:
				/* config */
				if ((i + 1 < argc)  &&  (argv[i+1][0] != '-')) {
					++i; // passe à l'argument de l'option
					config = argv[i]; // recupere la chaine
				} else {
					cerr << "Argument manquant pour '" << argv[i] <<"'"
						<< endl;
				}	
				break;
			case 4:
				/* probability */
				if ((i + 1 < argc)  &&  (argv[i+1][0] != '-')) {
					++i; // passe à l'argument de l'option
					proba = strtod(argv[i],NULL); // recupere l'entier
				} else {
					cerr << "Argument manquant pour '" << argv[i] <<"'"
						<< endl;
				}	
				break;
			case 5:
				/* speed */
				if ((i + 1 < argc)  &&  (argv[i+1][0] != '-')) {
					++i; // passe à l'argument de l'option
					speed = strtod(argv[i],NULL); // recupere l'entier
				} else {
					cerr << "Argument manquant pour '" << argv[i] <<"'"
						<< endl;
				}	
				break;
			default:
				cerr << "L'option \"" << argv[i] 
					<< "\" n'existe pas" << endl;
				break;
			}
			++i;
	}

	if (config != "") {
		// Initialisation avec un fichier de configuration
		string ligne,cle,valeur;
		ifstream file(config.c_str());
		if(file) {
			while (getline(file,ligne))
				if ( extraire_cle_valeur(ligne,cle,valeur) )
					set_cle_valeur(*this,cle,valeur);
		} else
			cerr << "Lecture du fichier de configuration impossible" << endl;
	}

	if (proba != -1) set_probability(proba);
	if (dimension != -1) set_dimension(dimension);
	if (speed != -1) set_speed(speed);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x7f0, %rsp            # imm = 0x7F0
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x6f0(%rbp)
movl $0x20, %edi
callq 0x3040
movq %rax, -0x6e8(%rbp)
movq %rax, %rcx
addq $0x20, %rcx
movq %rcx, -0x6e0(%rbp)
movq %rax, -0x6d8(%rbp)
movq -0x6d8(%rbp), %rdi
movq %rdi, -0x6f8(%rbp)
callq 0x7100
jmp 0x437c
movq -0x6e0(%rbp), %rcx
movq -0x6f8(%rbp), %rax
addq $0x20, %rax
cmpq %rcx, %rax
movq %rax, -0x6d8(%rbp)
jne 0x4367
movq -0x6f0(%rbp), %rax
movq -0x6e8(%rbp), %rcx
movq %rcx, (%rax)
movq $0x1, 0x8(%rax)
movq $0x0, 0x10(%rax)
movq $0x1, 0x18(%rax)
movl $0x3e800000, 0x20(%rax) # imm = 0x3E800000
movq $0xa, 0x28(%rax)
movq $0x0, 0x30(%rax)
movl $0x186a0, 0x38(%rax)    # imm = 0x186A0
leaq -0x350(%rbp), %rdi
callq 0x8a80
movl $0x1, -0x354(%rbp)
movl $0xffffffff, -0x358(%rbp) # imm = 0xFFFFFFFF
movl $0xbf800000, -0x35c(%rbp) # imm = 0xBF800000
movl $0xffffffff, -0x360(%rbp) # imm = 0xFFFFFFFF
movl $0xffffffff, -0x364(%rbp) # imm = 0xFFFFFFFF
leaq -0x389(%rbp), %rdi
movq %rdi, -0x700(%rbp)
callq 0x3400
movq -0x700(%rbp), %rdx
leaq 0x5c72(%rip), %rsi      # 0xa0b2
leaq -0x388(%rbp), %rdi
callq 0x6a60
jmp 0x444e
leaq -0x389(%rbp), %rdi
callq 0x3290
movl -0x354(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x4b8c
movl $0xffffffff, -0x358(%rbp) # imm = 0xFFFFFFFF
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x710(%rbp)
leaq -0x3b1(%rbp), %rdi
movq %rdi, -0x708(%rbp)
callq 0x3400
movq -0x710(%rbp), %rsi
movq -0x708(%rbp), %rdx
leaq -0x3b0(%rbp), %rdi
callq 0x6a60
jmp 0x44b8
leaq -0x350(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
callq 0x9610
movb %al, -0x711(%rbp)
jmp 0x44d3
leaq -0x3b0(%rbp), %rdi
callq 0x3160
leaq -0x3b1(%rbp), %rdi
callq 0x3290
movb -0x711(%rbp), %al
testb $0x1, %al
jne 0x44fa
jmp 0x464e
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rax
addq $0x2, %rax
movq %rax, -0x728(%rbp)
leaq -0x3d9(%rbp), %rdi
movq %rdi, -0x720(%rbp)
callq 0x3400
movq -0x728(%rbp), %rsi
movq -0x720(%rbp), %rdx
leaq -0x3d8(%rbp), %rdi
callq 0x6a60
jmp 0x4543
leaq -0x350(%rbp), %rdi
leaq -0x3d8(%rbp), %rsi
callq 0x94d0
movl %eax, -0x72c(%rbp)
jmp 0x455e
movl -0x72c(%rbp), %esi
leaq -0x350(%rbp), %rdi
callq 0x93e0
movl %eax, -0x730(%rbp)
jmp 0x4578
movl -0x730(%rbp), %eax
movl %eax, -0x358(%rbp)
leaq -0x3d8(%rbp), %rdi
callq 0x3160
leaq -0x3d9(%rbp), %rdi
callq 0x3290
jmp 0x476e
movq -0x6e8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
movl $0x20, %esi
callq 0x3440
jmp 0x4ee5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x389(%rbp), %rdi
callq 0x3290
jmp 0x4ed9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x4606
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x3b0(%rbp), %rdi
callq 0x3160
leaq -0x3b1(%rbp), %rdi
callq 0x3290
jmp 0x4ecd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x463d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x3d8(%rbp), %rdi
callq 0x3160
leaq -0x3d9(%rbp), %rdi
callq 0x3290
jmp 0x4ecd
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x740(%rbp)
leaq -0x401(%rbp), %rdi
movq %rdi, -0x738(%rbp)
callq 0x3400
movq -0x740(%rbp), %rsi
movq -0x738(%rbp), %rdx
leaq -0x400(%rbp), %rdi
callq 0x6a60
jmp 0x4693
leaq -0x350(%rbp), %rdi
leaq -0x400(%rbp), %rsi
callq 0x9760
movb %al, -0x741(%rbp)
jmp 0x46ae
leaq -0x400(%rbp), %rdi
callq 0x3160
leaq -0x401(%rbp), %rdi
callq 0x3290
movb -0x741(%rbp), %al
testb $0x1, %al
jne 0x46d5
jmp 0x476c
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x1(%rax), %esi
leaq -0x350(%rbp), %rdi
callq 0x9580
movl %eax, -0x748(%rbp)
jmp 0x46fc
movl -0x748(%rbp), %esi
leaq -0x350(%rbp), %rdi
callq 0x93e0
movl %eax, -0x74c(%rbp)
jmp 0x4716
movl -0x74c(%rbp), %eax
movl %eax, -0x358(%rbp)
jmp 0x476c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x474a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x3160
leaq -0x401(%rbp), %rdi
callq 0x3290
jmp 0x4ecd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x4ecd
jmp 0x476e
movl -0x358(%rbp), %eax
movq %rax, -0x758(%rbp)
subq $0x5, %rax
ja 0x4b05
movq -0x758(%rbp), %rax
leaq 0x5881(%rip), %rcx      # 0xa014
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
callq 0x4ef0
jmp 0x47a3
xorl %edi, %edi
callq 0x32d0
callq 0x4f40
jmp 0x47b1
xorl %edi, %edi
callq 0x32d0
movl -0x354(%rbp), %eax
addl $0x1, %eax
cmpl -0xc(%rbp), %eax
jge 0x4815
movq -0x18(%rbp), %rax
movl -0x354(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x4815
movl -0x354(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x354(%rbp)
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x31d0
cvttsd2si %xmm0, %eax
movl %eax, -0x360(%rbp)
jmp 0x4888
movq 0x97d4(%rip), %rdi      # 0xdff0
leaq 0x5890(%rip), %rsi      # 0xa0b3
callq 0x3250
movq %rax, -0x760(%rbp)
jmp 0x4831
movq -0x760(%rbp), %rdi
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x3250
movq %rax, -0x768(%rbp)
jmp 0x4855
movq -0x768(%rbp), %rdi
leaq 0x5867(%rip), %rsi      # 0xa0ca
callq 0x3250
movq %rax, -0x770(%rbp)
jmp 0x4871
movq -0x770(%rbp), %rdi
movq 0x9741(%rip), %rsi      # 0xdfc0
callq 0x3270
jmp 0x4886
jmp 0x4888
jmp 0x4b78
movl -0x354(%rbp), %eax
addl $0x1, %eax
cmpl -0xc(%rbp), %eax
jge 0x48e4
movq -0x18(%rbp), %rax
movl -0x354(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x48e4
movl -0x354(%rbp), %eax
incl %eax
movl %eax, -0x354(%rbp)
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq -0x388(%rbp), %rdi
callq 0x3340
jmp 0x48e2
jmp 0x4957
movq 0x9705(%rip), %rdi      # 0xdff0
leaq 0x57c1(%rip), %rsi      # 0xa0b3
callq 0x3250
movq %rax, -0x778(%rbp)
jmp 0x4900
movq -0x778(%rbp), %rdi
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x3250
movq %rax, -0x780(%rbp)
jmp 0x4924
movq -0x780(%rbp), %rdi
leaq 0x5798(%rip), %rsi      # 0xa0ca
callq 0x3250
movq %rax, -0x788(%rbp)
jmp 0x4940
movq -0x788(%rbp), %rdi
movq 0x9672(%rip), %rsi      # 0xdfc0
callq 0x3270
jmp 0x4955
jmp 0x4957
jmp 0x4b78
movl -0x354(%rbp), %eax
addl $0x1, %eax
cmpl -0xc(%rbp), %eax
jge 0x49bb
movq -0x18(%rbp), %rax
movl -0x354(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x49bb
movl -0x354(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x354(%rbp)
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x31d0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x35c(%rbp)
jmp 0x4a2e
movq 0x962e(%rip), %rdi      # 0xdff0
leaq 0x56ea(%rip), %rsi      # 0xa0b3
callq 0x3250
movq %rax, -0x790(%rbp)
jmp 0x49d7
movq -0x790(%rbp), %rdi
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x3250
movq %rax, -0x798(%rbp)
jmp 0x49fb
movq -0x798(%rbp), %rdi
leaq 0x56c1(%rip), %rsi      # 0xa0ca
callq 0x3250
movq %rax, -0x7a0(%rbp)
jmp 0x4a17
movq -0x7a0(%rbp), %rdi
movq 0x959b(%rip), %rsi      # 0xdfc0
callq 0x3270
jmp 0x4a2c
jmp 0x4a2e
jmp 0x4b78
movl -0x354(%rbp), %eax
addl $0x1, %eax
cmpl -0xc(%rbp), %eax
jge 0x4a90
movq -0x18(%rbp), %rax
movl -0x354(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x4a90
movl -0x354(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x354(%rbp)
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x31d0
cvttsd2si %xmm0, %eax
movl %eax, -0x364(%rbp)
jmp 0x4b03
movq 0x9559(%rip), %rdi      # 0xdff0
leaq 0x5615(%rip), %rsi      # 0xa0b3
callq 0x3250
movq %rax, -0x7a8(%rbp)
jmp 0x4aac
movq -0x7a8(%rbp), %rdi
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x3250
movq %rax, -0x7b0(%rbp)
jmp 0x4ad0
movq -0x7b0(%rbp), %rdi
leaq 0x55ec(%rip), %rsi      # 0xa0ca
callq 0x3250
movq %rax, -0x7b8(%rbp)
jmp 0x4aec
movq -0x7b8(%rbp), %rdi
movq 0x94c6(%rip), %rsi      # 0xdfc0
callq 0x3270
jmp 0x4b01
jmp 0x4b03
jmp 0x4b78
movq 0x94e4(%rip), %rdi      # 0xdff0
leaq 0x55b9(%rip), %rsi      # 0xa0cc
callq 0x3250
movq %rax, -0x7c0(%rbp)
jmp 0x4b21
movq -0x7c0(%rbp), %rdi
movq -0x18(%rbp), %rax
movslq -0x354(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x3250
movq %rax, -0x7c8(%rbp)
jmp 0x4b45
movq -0x7c8(%rbp), %rdi
leaq 0x5584(%rip), %rsi      # 0xa0d7
callq 0x3250
movq %rax, -0x7d0(%rbp)
jmp 0x4b61
movq -0x7d0(%rbp), %rdi
movq 0x9451(%rip), %rsi      # 0xdfc0
callq 0x3270
jmp 0x4b76
jmp 0x4b78
movl -0x354(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x354(%rbp)
jmp 0x445a
leaq 0x551f(%rip), %rsi      # 0xa0b2
leaq -0x388(%rbp), %rdi
callq 0x6b10
movb %al, -0x7d1(%rbp)
jmp 0x4ba7
movb -0x7d1(%rbp), %al
testb $0x1, %al
jne 0x4bb6
jmp 0x4e3c
leaq -0x428(%rbp), %rdi
callq 0x3350
leaq -0x448(%rbp), %rdi
callq 0x3350
leaq -0x468(%rbp), %rdi
callq 0x3350
leaq -0x388(%rbp), %rdi
callq 0x3100
movq %rax, %rsi
leaq -0x670(%rbp), %rdi
movl $0x8, %edx
callq 0x3420
jmp 0x4bfc
movq -0x670(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x670(%rbp,%rax), %rdi
callq 0x3310
movb %al, -0x7d2(%rbp)
jmp 0x4c1c
movb -0x7d2(%rbp), %al
testb $0x1, %al
jne 0x4c2b
jmp 0x4da2
jmp 0x4c2d
leaq -0x670(%rbp), %rdi
leaq -0x428(%rbp), %rsi
callq 0x3070
movq %rax, -0x7e0(%rbp)
jmp 0x4c49
movq -0x7e0(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3310
movb %al, -0x7e1(%rbp)
jmp 0x4c67
movb -0x7e1(%rbp), %al
testb $0x1, %al
jne 0x4c76
jmp 0x4da0
leaq -0x690(%rbp), %rdi
leaq -0x428(%rbp), %rsi
callq 0x3110
jmp 0x4c8b
leaq -0x690(%rbp), %rdi
leaq -0x448(%rbp), %rsi
leaq -0x468(%rbp), %rdx
callq 0x7c80
movb %al, -0x7e2(%rbp)
jmp 0x4cad
leaq -0x690(%rbp), %rdi
callq 0x3160
movb -0x7e2(%rbp), %al
testb $0x1, %al
jne 0x4cc8
jmp 0x4d9b
leaq -0x6b0(%rbp), %rdi
leaq -0x448(%rbp), %rsi
callq 0x3110
jmp 0x4cdd
leaq -0x6d0(%rbp), %rdi
leaq -0x468(%rbp), %rsi
callq 0x3110
jmp 0x4cf2
movq -0x6f0(%rbp), %rdi
leaq -0x6b0(%rbp), %rsi
leaq -0x6d0(%rbp), %rdx
callq 0x7fc0
jmp 0x4d0e
leaq -0x6d0(%rbp), %rdi
callq 0x3160
leaq -0x6b0(%rbp), %rdi
callq 0x3160
jmp 0x4d9b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x4e13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x4e07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x690(%rbp), %rdi
callq 0x3160
jmp 0x4e07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x4d8d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x6d0(%rbp), %rdi
callq 0x3160
leaq -0x6b0(%rbp), %rdi
callq 0x3160
jmp 0x4e07
jmp 0x4c2d
jmp 0x4dd5
movq 0x9247(%rip), %rdi      # 0xdff0
leaq 0x5336(%rip), %rsi      # 0xa0e6
callq 0x3250
movq %rax, -0x7f0(%rbp)
jmp 0x4dbe
movq -0x7f0(%rbp), %rdi
movq 0x91f4(%rip), %rsi      # 0xdfc0
callq 0x3270
jmp 0x4dd3
jmp 0x4dd5
leaq -0x670(%rbp), %rdi
callq 0x30b0
leaq -0x468(%rbp), %rdi
callq 0x3160
leaq -0x448(%rbp), %rdi
callq 0x3160
leaq -0x428(%rbp), %rdi
callq 0x3160
jmp 0x4e3c
leaq -0x670(%rbp), %rdi
callq 0x30b0
leaq -0x468(%rbp), %rdi
callq 0x3160
leaq -0x448(%rbp), %rdi
callq 0x3160
leaq -0x428(%rbp), %rdi
callq 0x3160
jmp 0x4ecd
movss -0x35c(%rbp), %xmm0
movss 0x51bc(%rip), %xmm1     # 0xa008
ucomiss %xmm1, %xmm0
jne 0x4e55
jp 0x4e55
jmp 0x4e6d
movq -0x6f0(%rbp), %rdi
movss -0x35c(%rbp), %xmm0
callq 0x4f70
jmp 0x4e6b
jmp 0x4e6d
cmpl $-0x1, -0x360(%rbp)
je 0x4e8d
movq -0x6f0(%rbp), %rdi
movslq -0x360(%rbp), %rsi
callq 0x5000
jmp 0x4e8b
jmp 0x4e8d
cmpl $-0x1, -0x364(%rbp)
je 0x4eac
movq -0x6f0(%rbp), %rdi
movl -0x364(%rbp), %esi
callq 0x5070
jmp 0x4eaa
jmp 0x4eac
leaq -0x388(%rbp), %rdi
callq 0x3160
leaq -0x350(%rbp), %rdi
callq 0x6b40
addq $0x7f0, %rsp            # imm = 0x7F0
popq %rbp
retq
leaq -0x388(%rbp), %rdi
callq 0x3160
leaq -0x350(%rbp), %rdi
callq 0x6b40
movq -0x20(%rbp), %rdi
callq 0x33f0
nop