chore: level07 asm breakdown
This commit is contained in:
		
							parent
							
								
									50a8d194c9
								
							
						
					
					
						commit
						3cf1fbf6b9
					
				|  | @ -0,0 +1,185 @@ | |||
| Dump of assembler code for function main: | ||||
|    0x08048723 <main+0>:	push   ebp | ||||
|    0x08048724 <main+1>:	mov    ebp,esp | ||||
|    0x08048726 <main+3>:	push   edi | ||||
|    0x08048727 <main+4>:	push   esi | ||||
|    0x08048728 <main+5>:	push   ebx | ||||
|    0x08048729 <main+6>:	and    esp,0xfffffff0 | ||||
|    0x0804872c <main+9>:	sub    esp,0x1d0 | ||||
|    0x08048732 <main+15>:	mov    eax,DWORD PTR [ebp+0xc] | ||||
|    0x08048735 <main+18>:	mov    DWORD PTR [esp+0x1c],eax | ||||
|    0x08048739 <main+22>:	mov    eax,DWORD PTR [ebp+0x10] | ||||
|    0x0804873c <main+25>:	mov    DWORD PTR [esp+0x18],eax | ||||
|    0x08048740 <main+29>:	mov    eax,gs:0x14 | ||||
|    0x08048746 <main+35>:	mov    DWORD PTR [esp+0x1cc],eax | ||||
|    0x0804874d <main+42>:	xor    eax,eax | ||||
|    0x0804874f <main+44>:	mov    DWORD PTR [esp+0x1b4],0x0 | ||||
|    0x0804875a <main+55>:	mov    DWORD PTR [esp+0x1b8],0x0 | ||||
|    0x08048765 <main+66>:	mov    DWORD PTR [esp+0x1bc],0x0 | ||||
|    0x08048770 <main+77>:	mov    DWORD PTR [esp+0x1c0],0x0 | ||||
|    0x0804877b <main+88>:	mov    DWORD PTR [esp+0x1c4],0x0 | ||||
|    0x08048786 <main+99>:	mov    DWORD PTR [esp+0x1c8],0x0 | ||||
|    0x08048791 <main+110>:	lea    ebx,[esp+0x24] | ||||
|    0x08048795 <main+114>:	mov    eax,0x0 | ||||
|    0x0804879a <main+119>:	mov    edx,0x64 | ||||
|    0x0804879f <main+124>:	mov    edi,ebx | ||||
|    0x080487a1 <main+126>:	mov    ecx,edx | ||||
|    0x080487a3 <main+128>:	rep stos DWORD PTR es:[edi],eax | ||||
|    0x080487a5 <main+130>:	jmp    0x80487ea <main+199> | ||||
|    0x080487a7 <main+132>:	mov    eax,DWORD PTR [esp+0x1c] | ||||
|    0x080487ab <main+136>:	mov    eax,DWORD PTR [eax] | ||||
|    0x080487ad <main+138>:	mov    DWORD PTR [esp+0x14],0xffffffff | ||||
|    0x080487b5 <main+146>:	mov    edx,eax | ||||
|    0x080487b7 <main+148>:	mov    eax,0x0 | ||||
|    0x080487bc <main+153>:	mov    ecx,DWORD PTR [esp+0x14] | ||||
|    0x080487c0 <main+157>:	mov    edi,edx | ||||
|    0x080487c2 <main+159>:	repnz scas al,BYTE PTR es:[edi] | ||||
|    0x080487c4 <main+161>:	mov    eax,ecx | ||||
|    0x080487c6 <main+163>:	not    eax | ||||
|    0x080487c8 <main+165>:	lea    edx,[eax-0x1] | ||||
|    0x080487cb <main+168>:	mov    eax,DWORD PTR [esp+0x1c] | ||||
|    0x080487cf <main+172>:	mov    eax,DWORD PTR [eax] | ||||
|    0x080487d1 <main+174>:	mov    DWORD PTR [esp+0x8],edx | ||||
|    0x080487d5 <main+178>:	mov    DWORD PTR [esp+0x4],0x0 | ||||
|    0x080487dd <main+186>:	mov    DWORD PTR [esp],eax | ||||
|    0x080487e0 <main+189>:	call   0x80484f0 <memset@plt> | ||||
|    0x080487e5 <main+194>:	add    DWORD PTR [esp+0x1c],0x4 | ||||
|    0x080487ea <main+199>:	mov    eax,DWORD PTR [esp+0x1c] | ||||
|    0x080487ee <main+203>:	mov    eax,DWORD PTR [eax] | ||||
|    0x080487f0 <main+205>:	test   eax,eax | ||||
|    0x080487f2 <main+207>:	jne    0x80487a7 <main+132> | ||||
|    0x080487f4 <main+209>:	jmp    0x8048839 <main+278> | ||||
|    0x080487f6 <main+211>:	mov    eax,DWORD PTR [esp+0x18] | ||||
|    0x080487fa <main+215>:	mov    eax,DWORD PTR [eax] | ||||
|    0x080487fc <main+217>:	mov    DWORD PTR [esp+0x14],0xffffffff | ||||
|    0x08048804 <main+225>:	mov    edx,eax | ||||
|    0x08048806 <main+227>:	mov    eax,0x0 | ||||
|    0x0804880b <main+232>:	mov    ecx,DWORD PTR [esp+0x14] | ||||
|    0x0804880f <main+236>:	mov    edi,edx | ||||
|    0x08048811 <main+238>:	repnz scas al,BYTE PTR es:[edi] | ||||
|    0x08048813 <main+240>:	mov    eax,ecx | ||||
|    0x08048815 <main+242>:	not    eax | ||||
|    0x08048817 <main+244>:	lea    edx,[eax-0x1] | ||||
|    0x0804881a <main+247>:	mov    eax,DWORD PTR [esp+0x18] | ||||
|    0x0804881e <main+251>:	mov    eax,DWORD PTR [eax] | ||||
|    0x08048820 <main+253>:	mov    DWORD PTR [esp+0x8],edx | ||||
|    0x08048824 <main+257>:	mov    DWORD PTR [esp+0x4],0x0 | ||||
|    0x0804882c <main+265>:	mov    DWORD PTR [esp],eax | ||||
|    0x0804882f <main+268>:	call   0x80484f0 <memset@plt> | ||||
|    0x08048834 <main+273>:	add    DWORD PTR [esp+0x18],0x4 | ||||
|    0x08048839 <main+278>:	mov    eax,DWORD PTR [esp+0x18] | ||||
|    0x0804883d <main+282>:	mov    eax,DWORD PTR [eax] | ||||
|    0x0804883f <main+284>:	test   eax,eax | ||||
|    0x08048841 <main+286>:	jne    0x80487f6 <main+211> | ||||
|    0x08048843 <main+288>:	mov    DWORD PTR [esp],0x8048b38 | ||||
|    0x0804884a <main+295>:	call   0x80484c0 <puts@plt> | ||||
|    0x0804884f <main+300>:	mov    eax,0x8048d4b | ||||
|    0x08048854 <main+305>:	mov    DWORD PTR [esp],eax | ||||
|    0x08048857 <main+308>:	call   0x8048470 <printf@plt> | ||||
|    0x0804885c <main+313>:	mov    DWORD PTR [esp+0x1b4],0x1 | ||||
|    0x08048867 <main+324>:	mov    eax,ds:0x804a040 | ||||
|    0x0804886c <main+329>:	mov    DWORD PTR [esp+0x8],eax | ||||
|    0x08048870 <main+333>:	mov    DWORD PTR [esp+0x4],0x14 | ||||
|    0x08048878 <main+341>:	lea    eax,[esp+0x1b8] | ||||
|    0x0804887f <main+348>:	mov    DWORD PTR [esp],eax | ||||
|    0x08048882 <main+351>:	call   0x80484a0 <fgets@plt> | ||||
|    0x08048887 <main+356>:	lea    eax,[esp+0x1b8] | ||||
|    0x0804888e <main+363>:	mov    DWORD PTR [esp+0x14],0xffffffff | ||||
|    0x08048896 <main+371>:	mov    edx,eax | ||||
|    0x08048898 <main+373>:	mov    eax,0x0 | ||||
|    0x0804889d <main+378>:	mov    ecx,DWORD PTR [esp+0x14] | ||||
|    0x080488a1 <main+382>:	mov    edi,edx | ||||
|    0x080488a3 <main+384>:	repnz scas al,BYTE PTR es:[edi] | ||||
|    0x080488a5 <main+386>:	mov    eax,ecx | ||||
|    0x080488a7 <main+388>:	not    eax | ||||
|    0x080488a9 <main+390>:	sub    eax,0x1 | ||||
|    0x080488ac <main+393>:	sub    eax,0x1 | ||||
|    0x080488af <main+396>:	mov    BYTE PTR [esp+eax*1+0x1b8],0x0 | ||||
|    0x080488b7 <main+404>:	lea    eax,[esp+0x1b8] | ||||
|    0x080488be <main+411>:	mov    edx,eax | ||||
|    0x080488c0 <main+413>:	mov    eax,0x8048d5b | ||||
|    0x080488c5 <main+418>:	mov    ecx,0x5 | ||||
|    0x080488ca <main+423>:	mov    esi,edx | ||||
|    0x080488cc <main+425>:	mov    edi,eax | ||||
|    0x080488ce <main+427>:	repz cmps BYTE PTR ds:[esi],BYTE PTR es:[edi] | ||||
|    0x080488d0 <main+429>:	seta   dl | ||||
|    0x080488d3 <main+432>:	setb   al | ||||
|    0x080488d6 <main+435>:	mov    ecx,edx | ||||
|    0x080488d8 <main+437>:	sub    cl,al | ||||
|    0x080488da <main+439>:	mov    eax,ecx | ||||
|    0x080488dc <main+441>:	movsx  eax,al | ||||
|    0x080488df <main+444>:	test   eax,eax | ||||
|    0x080488e1 <main+446>:	jne    0x80488f8 <main+469> | ||||
|    0x080488e3 <main+448>:	lea    eax,[esp+0x24] | ||||
|    0x080488e7 <main+452>:	mov    DWORD PTR [esp],eax | ||||
|    0x080488ea <main+455>:	call   0x8048630 <store_number> | ||||
|    0x080488ef <main+460>:	mov    DWORD PTR [esp+0x1b4],eax | ||||
|    0x080488f6 <main+467>:	jmp    0x8048965 <main+578> | ||||
|    0x080488f8 <main+469>:	lea    eax,[esp+0x1b8] | ||||
|    0x080488ff <main+476>:	mov    edx,eax | ||||
|    0x08048901 <main+478>:	mov    eax,0x8048d61 | ||||
|    0x08048906 <main+483>:	mov    ecx,0x4 | ||||
|    0x0804890b <main+488>:	mov    esi,edx | ||||
|    0x0804890d <main+490>:	mov    edi,eax | ||||
|    0x0804890f <main+492>:	repz cmps BYTE PTR ds:[esi],BYTE PTR es:[edi] | ||||
|    0x08048911 <main+494>:	seta   dl | ||||
|    0x08048914 <main+497>:	setb   al | ||||
|    0x08048917 <main+500>:	mov    ecx,edx | ||||
|    0x08048919 <main+502>:	sub    cl,al | ||||
|    0x0804891b <main+504>:	mov    eax,ecx | ||||
|    0x0804891d <main+506>:	movsx  eax,al | ||||
|    0x08048920 <main+509>:	test   eax,eax | ||||
|    0x08048922 <main+511>:	jne    0x8048939 <main+534> | ||||
|    0x08048924 <main+513>:	lea    eax,[esp+0x24] | ||||
|    0x08048928 <main+517>:	mov    DWORD PTR [esp],eax | ||||
|    0x0804892b <main+520>:	call   0x80486d7 <read_number> | ||||
|    0x08048930 <main+525>:	mov    DWORD PTR [esp+0x1b4],eax | ||||
|    0x08048937 <main+532>:	jmp    0x8048965 <main+578> | ||||
|    0x08048939 <main+534>:	lea    eax,[esp+0x1b8] | ||||
|    0x08048940 <main+541>:	mov    edx,eax | ||||
|    0x08048942 <main+543>:	mov    eax,0x8048d66 | ||||
|    0x08048947 <main+548>:	mov    ecx,0x4 | ||||
|    0x0804894c <main+553>:	mov    esi,edx | ||||
|    0x0804894e <main+555>:	mov    edi,eax | ||||
|    0x08048950 <main+557>:	repz cmps BYTE PTR ds:[esi],BYTE PTR es:[edi] | ||||
|    0x08048952 <main+559>:	seta   dl | ||||
|    0x08048955 <main+562>:	setb   al | ||||
|    0x08048958 <main+565>:	mov    ecx,edx | ||||
|    0x0804895a <main+567>:	sub    cl,al | ||||
|    0x0804895c <main+569>:	mov    eax,ecx | ||||
|    0x0804895e <main+571>:	movsx  eax,al | ||||
|    0x08048961 <main+574>:	test   eax,eax | ||||
|    0x08048963 <main+576>:	je     0x80489cf <main+684> | ||||
|    0x08048965 <main+578>:	cmp    DWORD PTR [esp+0x1b4],0x0 | ||||
|    0x0804896d <main+586>:	je     0x8048989 <main+614> | ||||
|    0x0804896f <main+588>:	mov    eax,0x8048d6b | ||||
|    0x08048974 <main+593>:	lea    edx,[esp+0x1b8] | ||||
|    0x0804897b <main+600>:	mov    DWORD PTR [esp+0x4],edx | ||||
|    0x0804897f <main+604>:	mov    DWORD PTR [esp],eax | ||||
|    0x08048982 <main+607>:	call   0x8048470 <printf@plt> | ||||
|    0x08048987 <main+612>:	jmp    0x80489a1 <main+638> | ||||
|    0x08048989 <main+614>:	mov    eax,0x8048d88 | ||||
|    0x0804898e <main+619>:	lea    edx,[esp+0x1b8] | ||||
|    0x08048995 <main+626>:	mov    DWORD PTR [esp+0x4],edx | ||||
|    0x08048999 <main+630>:	mov    DWORD PTR [esp],eax | ||||
|    0x0804899c <main+633>:	call   0x8048470 <printf@plt> | ||||
|    0x080489a1 <main+638>:	lea    eax,[esp+0x1b8] | ||||
|    0x080489a8 <main+645>:	mov    DWORD PTR [eax],0x0 | ||||
|    0x080489ae <main+651>:	mov    DWORD PTR [eax+0x4],0x0 | ||||
|    0x080489b5 <main+658>:	mov    DWORD PTR [eax+0x8],0x0 | ||||
|    0x080489bc <main+665>:	mov    DWORD PTR [eax+0xc],0x0 | ||||
|    0x080489c3 <main+672>:	mov    DWORD PTR [eax+0x10],0x0 | ||||
|    0x080489ca <main+679>:	jmp    0x804884f <main+300> | ||||
|    0x080489cf <main+684>:	nop | ||||
|    0x080489d0 <main+685>:	mov    eax,0x0 | ||||
|    0x080489d5 <main+690>:	mov    esi,DWORD PTR [esp+0x1cc] | ||||
|    0x080489dc <main+697>:	xor    esi,DWORD PTR gs:0x14 | ||||
|    0x080489e3 <main+704>:	je     0x80489ea <main+711> | ||||
|    0x080489e5 <main+706>:	call   0x80484b0 <__stack_chk_fail@plt> | ||||
|    0x080489ea <main+711>:	lea    esp,[ebp-0xc] | ||||
|    0x080489ed <main+714>:	pop    ebx | ||||
|    0x080489ee <main+715>:	pop    esi | ||||
|    0x080489ef <main+716>:	pop    edi | ||||
|    0x080489f0 <main+717>:	pop    ebp | ||||
|    0x080489f1 <main+718>:	ret     | ||||
| End of assembler dump. | ||||
|  | @ -0,0 +1,12 @@ | |||
| |------------|------------|-----------------------------------------------|-------------------------------------------------------------| | ||||
| | 0x08048... | <main+...> |                      asm                      |                         pseudo code                         | | ||||
| |------------|------------|-----------------------------------------------|-------------------------------------------------------------| | ||||
| |        723 |         0  | push	ebp				                      |	stack[esp] == ebp; esp -= 4; eip++;							| | ||||
| |        724 |         1  | mov		ebp, esp    	                      |	ebp = esp; eip += 2;                                        | | ||||
| |        726 |         3  | push	edi		    	                      |	stack[esp] == edi; esp -= 4; eip++;                         | | ||||
| |        727 |         4  | push	esi		    	                      |	stack[esp] == esi; esp -= 4; eip++;                         | | ||||
| |		 728 |		   5  | push	ebx									  |	stack[esp] == ebx; esp -= 4; eip++;                         | | ||||
| |        729 |		   6  | and		esp, 0xfffffff0						  | esp -= esp % 16; eip += 3; // aligne la stack a 16			| | ||||
| |	     72c |         9  | sub		esp, 0x1d0							  | esp -= 464; eip += 6; // alloue 116 ints   sur la stack     | | ||||
| |	     732 |		  15  | mov		eax, DWORD PTR [ebp+0xc]			  | eax = stack[ebp+12] ; eip += 3; // eax choppe l'addr d'argv | | ||||
| 
 | ||||
|  | @ -0,0 +1,16 @@ | |||
| eax            0x8048723           134514467 | ||||
| ecx            0x1ca531dd          480588253 | ||||
| edx            0xffffd450          -11184 | ||||
| ebx            0xf7f9a000          -134635520 | ||||
| esp            0xffffd428          0xffffd428 | ||||
| ebp            0xf7ffd020          0xf7ffd020 <_rtld_global> | ||||
| esi            0xffffd4e4          -11036 | ||||
| edi            0xf7ffcb80          -134231168 | ||||
| eip            0x8048724           0x8048724 <main+1> | ||||
| eflags         0x246               [ PF ZF IF ] | ||||
| cs             0x23                35 | ||||
| ss             0x2b                43 | ||||
| ds             0x2b                43 | ||||
| es             0x2b                43 | ||||
| fs             0x0                 0 | ||||
| gs             0x63                99 | ||||
|  | @ -0,0 +1,16 @@ | |||
| eax            0x8048723           134514467 | ||||
| ecx            0x1ca531dd          480588253 | ||||
| edx            0xffffd450          -11184 | ||||
| ebx            0xf7f9a000          -134635520 | ||||
| esp            0xffffd42c          0xffffd42c | ||||
| ebp            0xf7ffd020          0xf7ffd020 <_rtld_global> | ||||
| esi            0xffffd4e4          -11036 | ||||
| edi            0xf7ffcb80          -134231168 | ||||
| eip            0x8048723           0x8048723 <main> | ||||
| eflags         0x246               [ PF ZF IF ] | ||||
| cs             0x23                35 | ||||
| ss             0x2b                43 | ||||
| ds             0x2b                43 | ||||
| es             0x2b                43 | ||||
| fs             0x0                 0 | ||||
| gs             0x63                99 | ||||
|  | @ -0,0 +1,145 @@ | |||
| int main(int param_1, char **argv, char **envp) | ||||
| 
 | ||||
| { | ||||
|   char cVar1; | ||||
|   int iVar2; | ||||
|   uint uVar3; | ||||
|   undefined4 *puVar4; | ||||
|   char *pcVar5; | ||||
|   byte *pbVar6; | ||||
|   int in_GS_OFFSET; | ||||
|   bool bVar7; | ||||
|   bool bVar8; | ||||
|   bool bVar9; | ||||
|   byte bVar10; | ||||
|   char **local_1c8; | ||||
|   char **local_1c4; | ||||
|   undefined4 storage_service_data_array [100]; | ||||
|   undefined4 local_2c; | ||||
|   undefined4 local_28; | ||||
|   undefined4 local_24; | ||||
|   undefined4 local_20; | ||||
|   undefined4 local_1c; | ||||
|   undefined4 local_18; | ||||
|   int local_14; | ||||
|    | ||||
|   bVar10 = 0; | ||||
|   local_1c4 = param_2; | ||||
|   local_1c8 = param_3; | ||||
|   local_14 = *(int *)(in_GS_OFFSET + 0x14); | ||||
|   local_2c = 0; | ||||
|   local_28 = 0; | ||||
|   local_24 = 0; | ||||
|   local_20 = 0; | ||||
|   local_1c = 0; | ||||
|   local_18 = 0; | ||||
|   puVar4 = storage_service_data_array; | ||||
|   for (int i = 100; i != 0; i--) { | ||||
|     storage_service_data_array[i] = 0; | ||||
|   } | ||||
|   while ( *argv ) | ||||
|   { | ||||
|     memset((void *)*argv, 0, strlen(*argv)); | ||||
|     ++argv; | ||||
|   } | ||||
|   while ( *envp ) | ||||
|   { | ||||
|     memset((void *)*envp, 0, strlen(*envp)); | ||||
|     ++envp; | ||||
|   }  | ||||
|    | ||||
|   puts( | ||||
|       "----------------------------------------------------" | ||||
| 	  "Welcome to wil\'s crappy number stora ge service!   " | ||||
| 	  "----------------------------------------------------" | ||||
| 	  "Commands:                                           " | ||||
| 	  "    store - store a number into the data storage    " | ||||
| 	  "	   read  - read a number from the data storage     " | ||||
| 	  "	   quit  - exit the program                        " | ||||
| 	  "----------------------------------------------------" | ||||
| 	  "   wil has reserved some storage :>                 " | ||||
| 	  "----------------------------------------------------" | ||||
|       ); | ||||
|   do { | ||||
|     printf("Input command: "); | ||||
|     local_2c = 1; | ||||
|     fgets((char *)&local_28,0x14,stdin); | ||||
|     uVar3 = 0xffffffff; | ||||
|     puVar4 = &local_28; | ||||
|     do { | ||||
|       if (uVar3 == 0) break; | ||||
|       uVar3 = uVar3 - 1; | ||||
|       cVar1 = *(char *)puVar4; | ||||
|       puVar4 = (undefined4 *)((int)puVar4 + (uint)bVar10 * -2 + 1); | ||||
|     } while (cVar1 != '\0'); | ||||
|     uVar3 = ~uVar3; | ||||
|     bVar7 = uVar3 == 1; | ||||
|     bVar9 = uVar3 == 2; | ||||
|     *(undefined *)((int)&local_2c + uVar3 + 2) = 0; | ||||
|     iVar2 = 5; | ||||
|     puVar4 = &local_28; | ||||
|     pbVar6 = (byte *)"store"; | ||||
|     do { | ||||
|       if (iVar2 == 0) break; | ||||
|       iVar2 = iVar2 + -1; | ||||
|       bVar7 = *(byte *)puVar4 < *pbVar6; | ||||
|       bVar9 = *(byte *)puVar4 == *pbVar6; | ||||
|       puVar4 = (undefined4 *)((int)puVar4 + (uint)bVar10 * -2 + 1); | ||||
|       pbVar6 = pbVar6 + (uint)bVar10 * -2 + 1; | ||||
|     } while (bVar9); | ||||
|     bVar8 = false; | ||||
|     bVar7 = (!bVar7 && !bVar9) == bVar7; | ||||
|     if (bVar7) { | ||||
|       local_2c = store_number(storage_service_data_array); | ||||
|     } | ||||
|     else { | ||||
|       iVar2 = 4; | ||||
|       puVar4 = &local_28; | ||||
|       pbVar6 = &DAT_08048d61; | ||||
|       do { | ||||
|         if (iVar2 == 0) break; | ||||
|         iVar2 = iVar2 + -1; | ||||
|         bVar8 = *(byte *)puVar4 < *pbVar6; | ||||
|         bVar7 = *(byte *)puVar4 == *pbVar6; | ||||
|         puVar4 = (undefined4 *)((int)puVar4 + (uint)bVar10 * -2 + 1); | ||||
|         pbVar6 = pbVar6 + (uint)bVar10 * -2 + 1; | ||||
|       } while (bVar7); | ||||
|       bVar9 = false; | ||||
|       bVar7 = (!bVar8 && !bVar7) == bVar8; | ||||
|       if (bVar7) { | ||||
|         local_2c = read_number(storage_service_data_array); | ||||
|       } | ||||
|       else { | ||||
|         iVar2 = 4; | ||||
|         puVar4 = &local_28; | ||||
|         pbVar6 = &DAT_08048d66; | ||||
|         do { | ||||
|           if (iVar2 == 0) break; | ||||
|           iVar2 = iVar2 + -1; | ||||
|           bVar9 = *(byte *)puVar4 < *pbVar6; | ||||
|           bVar7 = *(byte *)puVar4 == *pbVar6; | ||||
|           puVar4 = (undefined4 *)((int)puVar4 + (uint)bVar10 * -2 + 1); | ||||
|           pbVar6 = pbVar6 + (uint)bVar10 * -2 + 1; | ||||
|         } while (bVar7); | ||||
|         if ((!bVar9 && !bVar7) == bVar9) { | ||||
|           if (local_14 == *(int *)(in_GS_OFFSET + 0x14)) { | ||||
|             return 0; | ||||
|           } | ||||
|                     /* WARNING: Subroutine does not return */ | ||||
|           __stack_chk_fail(); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|     if (local_2c == 0) { | ||||
|       printf(" Completed %s command successfully\n",&local_28); | ||||
|     } | ||||
|     else { | ||||
|       printf(" Failed to do %s command\n",&local_28); | ||||
|     } | ||||
|     local_28 = 0; | ||||
|     local_24 = 0; | ||||
|     local_20 = 0; | ||||
|     local_1c = 0; | ||||
|     local_18 = 0; | ||||
|   } while( true ); | ||||
| } | ||||
		Loading…
	
		Reference in New Issue