.text:00000000 ; .text:00000000 ; +-------------------------------------------------------------------------+ .text:00000000 ; | This file has been generated by The Interactive Disassembler (IDA) | .text:00000000 ; | Copyright (c) 2009 by Hex-Rays, | .text:00000000 ; | License info: 48-313D-7374-F1 | .text:00000000 ; | Aditya Thakur, University of Wisconsin/Computer Sciences Department | .text:00000000 ; +-------------------------------------------------------------------------+ .text:00000000 ; .text:00000000 ; Input MD5 : 8DE5E7D99BC9CF7F7B36BA4A81DBEDA9 .text:00000000 .text:00000000 ; File Name : C:\aditya\work\TSL\TSL\analyzer\TSLFiles\DASH\regression\clobber_ret_addr\clobber_ret_addr--CASE-8.obj .text:00000000 ; Format : COFF (X386MAGIC) .text:00000000 ; includelib "LIBCMT" .text:00000000 ; includelib "OLDNAMES"" .text:00000000 .text:00000000 .686p .text:00000000 .mmx .text:00000000 .model flat .text:00000000 .text:00000000 ; =========================================================================== .text:00000000 .text:00000000 ; Segment type: Pure code .text:00000000 ; Segment permissions: Read/Execute .text:00000000 _text segment para public 'CODE' use32 .text:00000000 assume cs:_text .text:00000000 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing .text:00000000 .text:00000000 ; =============== S U B R O U T I N E ======================================= .text:00000000 .text:00000000 ; Attributes: bp-based frame .text:00000000 .text:00000000 ; int __cdecl MakeChoice() .text:00000000 public ?MakeChoice@@YAHXZ .text:00000000 ?MakeChoice@@YAHXZ proc near ; CODE XREF: foo(void)+6p .text:00000000 push ebp .text:00000001 mov ebp, esp .text:00000003 cmp eax, 2A20h .text:00000008 xor eax, eax .text:0000000A pop ebp .text:0000000B retn .text:0000000B ?MakeChoice@@YAHXZ endp .text:0000000B .text:0000000B ; --------------------------------------------------------------------------- .text:0000000C align 10h .text:00000010 .text:00000010 ; =============== S U B R O U T I N E ======================================= .text:00000010 .text:00000010 ; Attributes: bp-based frame .text:00000010 .text:00000010 ; void __cdecl bar() .text:00000010 public ?bar@@YAXXZ .text:00000010 ?bar@@YAXXZ proc near .text:00000010 push ebp .text:00000011 mov ebp, esp .text:00000013 cmp eax, 2A10h .text:00000018 pop ebp .text:00000019 retn .text:00000019 ?bar@@YAXXZ endp .text:00000019 .text:00000019 ; --------------------------------------------------------------------------- .text:0000001A align 10h .text:00000020 .text:00000020 ; =============== S U B R O U T I N E ======================================= .text:00000020 .text:00000020 ; Attributes: bp-based frame .text:00000020 .text:00000020 ; void __cdecl foo() .text:00000020 public ?foo@@YAXXZ .text:00000020 ?foo@@YAXXZ proc near ; CODE XREF: _main+3p .text:00000020 .text:00000020 var_8 = dword ptr -8 .text:00000020 var_4 = dword ptr -4 .text:00000020 .text:00000020 push ebp .text:00000021 mov ebp, esp .text:00000023 sub esp, 8 .text:00000026 call ?MakeChoice@@YAHXZ ; MakeChoice(void) .text:0000002B and eax, 1 .text:0000002E mov [ebp+var_8], eax .text:00000031 mov eax, [ebp+var_8] .text:00000034 imul eax, 68h .text:00000037 mov ecx, 1 .text:0000003C sub ecx, [ebp+var_8] .text:0000003F shl ecx, 4 .text:00000042 add eax, ecx .text:00000044 mov [ebp+var_4], eax .text:00000047 mov edx, [ebp+var_4] .text:0000004A mov [ebp+4], edx .text:0000004D mov esp, ebp .text:0000004F pop ebp .text:00000050 retn .text:00000050 ?foo@@YAXXZ endp .text:00000050 .text:00000050 ; --------------------------------------------------------------------------- .text:00000051 align 10h .text:00000060 .text:00000060 ; =============== S U B R O U T I N E ======================================= .text:00000060 .text:00000060 ; Attributes: bp-based frame .text:00000060 .text:00000060 public _main .text:00000060 _main proc near .text:00000060 push ebp .text:00000061 mov ebp, esp .text:00000063 call ?foo@@YAXXZ ; foo(void) .text:00000068 xor eax, eax .text:0000006A pop ebp .text:0000006B retn .text:0000006B _main endp .text:0000006B .text:0000006B _text ends .text:0000006B .text:0000006B .text:0000006B end