Paste: Disassembly

Author: Dee
Mode: c++
Date: Fri, 4 Sep 2009 16:51:17
Plain Text |
	if( _Argc > 1 )
0071826E  cmp         dword ptr [_Argc],1 
00718272  jle         main+108h (718358h) 
		{
		if( xr::service::global::Start = !strcmp( _Argv[1], "start" ) )
00718278  push        offset string "start" (901A60h) 
0071827D  mov         eax,dword ptr [_Argv] 
00718280  mov         ecx,dword ptr [eax+4] 
00718283  push        ecx  
00718284  call        @ILT+56790(_strcmp) (5ABDDBh) 
00718289  add         esp,8 
0071828C  neg         eax  
0071828E  sbb         eax,eax 
00718290  add         eax,1 
00718293  mov         byte ptr [xr::service::global::Start (9D5670h)],al 
00718298  movzx       edx,byte ptr [xr::service::global::Start (9D5670h)] 
0071829F  test        edx,edx 
007182A1  je          main+68h (7182B8h) 
			xr::service::main( _Argc, _Argv );
007182A3  mov         eax,dword ptr [_Argv] 
007182A6  push        eax  
007182A7  mov         ecx,dword ptr [_Argc] 
007182AA  push        ecx  
007182AB  call        xr::service::main (5ACE25h) 
007182B0  add         esp,8 
007182B3  jmp         main+101h (718351h) 

		else if( xr::service::global::Config = !strcmp( _Argv[1], "configure" ) )
007182B8  push        offset string "configure" (901AD4h) 
007182BD  mov         eax,dword ptr [_Argv] 
007182C0  mov         ecx,dword ptr [eax+4] 
007182C3  push        ecx  
007182C4  call        @ILT+56790(_strcmp) (5ABDDBh) 
007182C9  add         esp,8 
007182CC  neg         eax  
007182CE  sbb         eax,eax 
007182D0  add         eax,1 
007182D3  mov         byte ptr [xr::service::global::Config (9D5671h)],al 
007182D8  movzx       edx,byte ptr [xr::service::global::Config (9D5671h)] 
007182DF  test        edx,edx 
007182E1  je          main+0A5h (7182F5h) 
			xr::service::main( _Argc, _Argv );
007182E3  mov         eax,dword ptr [_Argv] 
007182E6  push        eax  
007182E7  mov         ecx,dword ptr [_Argc] 
007182EA  push        ecx  
007182EB  call        xr::service::main (5ACE25h) 
007182F0  add         esp,8 
007182F3  jmp         main+101h (718351h) 

		else if( !strcmp( _Argv[1], "install" ) )
007182F5  push        offset string "install" (91DF68h) 
007182FA  mov         eax,dword ptr [_Argv] 
007182FD  mov         ecx,dword ptr [eax+4] 
00718300  push        ecx  
00718301  call        @ILT+56790(_strcmp) (5ABDDBh) 
00718306  add         esp,8 
00718309  test        eax,eax 
0071830B  jne         main+0C4h (718314h) 
			xr::service::install();
0071830D  call        xr::service::install (5A9C11h) 
00718312  jmp         main+101h (718351h) 

		else if( !strcmp( _Argv[1], "uninstall" ) )
00718314  push        offset string "uninstall" (91DF58h) 
00718319  mov         eax,dword ptr [_Argv] 
0071831C  mov         ecx,dword ptr [eax+4] 
0071831F  push        ecx  
00718320  call        @ILT+56790(_strcmp) (5ABDDBh) 
00718325  add         esp,8 
00718328  test        eax,eax 
0071832A  jne         main+0E3h (718333h) 
			xr::service::uninstall();
0071832C  call        xr::service::uninstall (59E3A7h) 

		else
00718331  jmp         main+101h (718351h) 
			std::cout << "Usage: ir_service.exe [option]\nOptions are:\n\tstart\n\tconfigure\n\tinstall\n\tuninstall" << std::endl;
00718333  push        offset std::endl (5ABA48h) 
00718338  push        offset string "Usage: ir_service.exe [option]\nO"... (91DEE8h) 
0071833D  push        offset std::cout (9D6860h) 
00718342  call        std::operator<<<std::char_traits<char> > (5A197Bh) 
00718347  add         esp,8 
0071834A  mov         ecx,eax 
0071834C  call        std::basic_ostream<char,std::char_traits<char> >::operator<< (5A19DFh) 

		return 0;
00718351  xor         eax,eax 
00718353  jmp         main+1ADh (7183FDh) 
		}

New Annotation

Summary:
Author:
Mode:
Body: