Skip to content

Instantly share code, notes, and snippets.

@trietptm
Created November 23, 2012 00:10
Show Gist options
  • Save trietptm/4133403 to your computer and use it in GitHub Desktop.
Save trietptm/4133403 to your computer and use it in GitHub Desktop.
a01_identify_variables.exe disassembly
.text:00981000 ; =============== S U B R O U T I N E =======================================
.text:00981000
.text:00981000 ; Attributes: bp-based frame
.text:00981000
.text:00981000 ; int __cdecl main(int argc, const char **argv, const char **envp)
.text:00981000 _main proc near ; CODE XREF: ___tmainCRTStartup+10Ap
.text:00981000
.text:00981000 var_38 = qword ptr -38h
.text:00981000 var_2C = dword ptr -2Ch
.text:00981000 var_25 = byte ptr -25h
.text:00981000 var_24 = dword ptr -24h
.text:00981000 var_20 = word ptr -20h
.text:00981000 var_1C = dword ptr -1Ch
.text:00981000 var_18 = word ptr -18h
.text:00981000 var_14 = word ptr -14h
.text:00981000 var_F = byte ptr -0Fh
.text:00981000 var_E = byte ptr -0Eh
.text:00981000 var_D = byte ptr -0Dh
.text:00981000 var_C = dword ptr -0Ch
.text:00981000 var_8 = qword ptr -8
.text:00981000 argc = dword ptr 8
.text:00981000 argv = dword ptr 0Ch
.text:00981000 envp = dword ptr 10h
.text:00981000
.text:00981000 push ebp
.text:00981001 mov ebp, esp
.text:00981003 sub esp, 3Ch ; Integer Subtraction
.text:00981006 mov [ebp+var_D], 0
.text:0098100A mov [ebp+var_D], 0FFh
.text:0098100E mov [ebp+var_25], 80h
.text:00981012 mov [ebp+var_25], 7Fh
.text:00981016 xor eax, eax ; Logical Exclusive OR
.text:00981018 mov [ebp+var_18], ax
.text:0098101C mov ecx, 0FFFFh
.text:00981021 mov [ebp+var_18], cx
.text:00981025 mov edx, 0FFFF8000h
.text:0098102A mov [ebp+var_14], dx
.text:0098102E mov eax, 7FFFh
.text:00981033 mov [ebp+var_14], ax
.text:00981037 mov [ebp+var_1C], 0
.text:0098103E mov [ebp+var_1C], 0FFFFFFFFh
.text:00981045 mov [ebp+var_1C], 80000000h
.text:0098104C mov [ebp+var_1C], 7FFFFFFFh
.text:00981053 mov [ebp+var_24], 0
.text:0098105A mov [ebp+var_24], 0FFFFFFFFh
.text:00981061 mov [ebp+var_2C], 80000000h
.text:00981068 mov [ebp+var_2C], 7FFFFFFFh
.text:0098106F mov [ebp+var_F], 1
.text:00981073 mov [ebp+var_E], 0
.text:00981077 fld ds:flt_9820F0 ; Load Real
.text:0098107D fstp [ebp+var_C] ; Store Real and Pop
.text:00981080 fld ds:dbl_9820E8 ; Load Real
.text:00981086 fstp [ebp+var_8] ; Store Real and Pop
.text:00981089 fld ds:dbl_9820E8 ; Load Real
.text:0098108F fstp [ebp+var_38] ; Store Real and Pop
.text:00981092 mov ecx, 41h
.text:00981097 mov [ebp+var_20], cx
.text:0098109B xor eax, eax ; Logical Exclusive OR
.text:0098109D mov esp, ebp
.text:0098109F pop ebp
.text:009810A0 retn ; Return Near from Procedure
.text:009810A0 _main endp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment