Function at 0x436140
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [0x5ac004]
xor eax, esp
mov dword [esp + 0x80], eax
push ebx
push esi
push edi
push 0
push 0x58
lea eax, [esp + 0x38]
mov esi, ecx
push eax
push 0x50
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
js 0x4369e5
mov eax, dword [esp + 0x80]
mov ecx, 0x1000
add eax, dword [esp + 0x7c]
add eax, dword [esp + 0x78]
add eax, dword [esp + 0x74]
add eax, dword [esp + 0x70]
add eax, dword [esp + 0x6c]
add eax, dword [esp + 0x68]
add eax, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
add edi, dword [esp + 0x5c]
add edi, dword [esp + 0x58]
add edi, dword [esp + 0x54]
add edi, dword [esp + 0x50]
add edi, dword [esp + 0x4c]
add edi, dword [esp + 0x48]
add edi, dword [esp + 0x44]
mov dword [esp + 0x2c], eax
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x30]
mul ecx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x534
push esi
mov ebx, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436216
push ebx
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov ecx, 0x1000
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x34]
mul ecx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x535
push esi
mov ebx, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [ecx]
test eax, eax
je 0x436270
push ebx
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov ecx, 0x1000
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x38]
mul ecx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x536
push esi
mov ebx, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x4362ca
push ebx
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov ecx, 0x1000
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x3c]
mul ecx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x537
push esi
mov ebx, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436326
push ebx
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov ecx, 0x1000
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x40]
mul ecx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x546
push esi
mov ebx, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x43637d
push ebx
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov cl, byte [0x5b0a08]
mov eax, edi
mov ebx, 0x1000
mov dword [esp + 0x10], 0x10c
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov byte [esp + 0x26], cl
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x539
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x4363d6
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte ds:[esp + 0x1a], al
mov eax, dword [esp + 0x44]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x542
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x43642a
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x48]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x543
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x43647c
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x4c]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x544
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, edi
test eax, eax
je 0x4364d0
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x50]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x545
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436526
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x54]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x554
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436578
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x58]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x555
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x4365ca
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x5c]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x556
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x43661c
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x60]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x557
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, edi
test eax, eax
je 0x436670
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x2c]
mov cl, byte [0x5b0a08]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov byte [esp + 0x26], cl
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x547
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x4366c6
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x64]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x548
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436718
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x68]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x549
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x43676a
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x6c]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x54a
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x4367bc
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x70]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x54b
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, edi
test eax, eax
je 0x436810
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x74]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x54c
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436866
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x78]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x54d
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x4368b8
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x7c]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x54e
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x43690a
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x80]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x54f
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436966
push edi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [sym.ProcessHacker.exe_WindowsVersion], 0x3e
jb 0x4369c5
mov al, byte [0x5b0a08]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x84]
mul ebx
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push 1
push eax
mov dword [esp + 0x1c], 0x10c
mov dword [esp + 0x30], edx
call sym.ProcessHacker.exe_PhFormat
push eax
call sym.ProcessHacker.exe_PhAutoDereferenceObject
push 0x55d
push esi
mov edi, dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436ce6
push edi
jmp 0x436cdb
push 0x55d
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436ce6
push 0x56e3d4
mov edi, edi
jmp 0x436cdb
push 0x534
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436a06
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x535
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436a26
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x536
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436a46
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x537
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436a66
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x55d
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436a86
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x546
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436aa6
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x539
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436ac6
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x542
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436ae6
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x543
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436b06
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x544
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436b26
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x545
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436b46
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x554
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436b66
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x555
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436b86
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x556
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436ba6
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x557
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436bc6
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x547
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436be6
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x548
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436c06
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x549
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436c26
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x54a
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436c46
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x54b
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436c66
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x54c
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436c86
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x54d
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436ca6
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x54e
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436cc6
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x54f
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x436ce6
push 0x56d084
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0051e068
mov esp, ebp
pop ebp
ret