Function at 0x51b240
Capabilities:
Get memory capacity

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov ecx, dword [0x74352c]
mov esi, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
test ecx, ecx
jne 0x51b594
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov dword [esp + 0x50], eax
lea edi, [esp + 0x50]
call dword [sym.imp.USER32.dll_GetCapture]
mov dword [esp + 0x54], eax
call dword [sym.imp.USER32.dll_GetClipboardOwner]
mov dword [esp + 0x58], eax
call dword [sym.imp.USER32.dll_GetClipboardViewer]
mov edx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x24], edx
call edx
mov dword [esp + 0x60], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebp, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [esp + 0x64], eax
call ebp
mov dword [esp + 0x68], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [esp + 0x6c], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [esp + 0x70], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [esp + 0x74], eax
call dword [sym.imp.USER32.dll_GetInputState]
mov dword [esp + 0x78], eax
call dword [sym.imp.USER32.dll_GetMessagePos]
mov dword [esp + 0x7c], eax
call dword [sym.imp.USER32.dll_GetMessageTime]
mov dword [esp + 0x80], eax
call dword [sym.imp.USER32.dll_GetOpenClipboardWindow]
mov dword [esp + 0x84], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [esp + 0x88], eax
call dword [sym.imp.USER32.dll_GetProcessWindowStation]
mov dword [esp + 0x8c], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x2c], eax
call eax
mov dword [esp + 8], ebx
mov dword [esp + 0x90], eax
mov dword [esp + 4], 0x44
mov dword [esp], edi
call esi
mov dword [esp], edi
call dword [sym.imp.USER32.dll_GetCaretPos]
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 8
mov dword [esp], edi
call esi
mov dword [esp], edi
call dword [sym.imp.USER32.dll_GetCursorPos]
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 8
mov dword [esp], edi
call esi
mov dword [esp + 0x50], 0x20
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x20
mov dword [esp], edi
call esi
call ebp
lea ecx, [esp + 0x48]
lea ebp, [esp + 0x38]
mov dword [esp + 0x10], edi
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
sub esp, 0x14
mov dword [esp], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], 8
call esi
lea eax, [esp + 0x40]
mov dword [esp + 8], ebx
mov dword [esp + 4], 8
mov dword [esp], eax
call esi
lea eax, [esp + 0x48]
mov dword [esp + 8], ebx
mov dword [esp + 4], 8
mov dword [esp], eax
call esi
mov dword [esp + 8], ebx
mov dword [esp + 4], 8
mov dword [esp], edi
call esi
mov edx, dword [esp + 0x24]
call edx
mov edx, eax
lea eax, [esp + 0x48]
mov dword [esp + 4], ebp
mov dword [esp], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x10], edi
mov dword [esp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetProcessTimes]
sub esp, 0x14
mov dword [esp], ebp
mov dword [esp + 8], ebx
lea ebp, [esp + 0x34]
mov dword [esp + 4], 8
call esi
lea eax, [esp + 0x40]
mov dword [esp + 8], ebx
mov dword [esp + 4], 8
mov dword [esp], eax
call esi
lea eax, [esp + 0x48]
mov dword [esp + 8], ebx
mov dword [esp + 4], 8
mov dword [esp], eax
call esi
mov dword [esp + 8], ebx
mov dword [esp + 4], 8
mov dword [esp], edi
call esi
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x30]
mov dword [esp + 8], ebp
mov dword [esp + 4], ecx
mov dword [esp + 0x24], ecx
mov dword [esp], edx
call dword [sym.imp.KERNEL32.dll_GetProcessWorkingSetSize]
sub esp, 0xc
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 4], 4
mov dword [esp], ecx
call esi
mov dword [esp + 8], ebx
mov dword [esp + 4], 4
mov dword [esp], ebp
call esi
mov edx, dword [0x743514]
test edx, edx
je 0x51b560
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
sub esp, 4
test eax, eax
je 0x51b530
mov eax, dword [0x74352c]
test eax, eax
jne 0x51b520
mov dword [esp + 8], ebx
mov dword [esp], edi
mov dword [esp + 4], 8
call esi
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], str.rndw32gather_random_fast:_perf_data_n
call dbg._gcry_log_debug
jmp 0x51b4ff
mov eax, dword [esp + 0x2c]
call eax
mov dword [esp + 0x48], eax
lea eax, [esp + 0x48]
mov dword [esp + 8], ebx
mov dword [esp + 4], 4
mov dword [esp], eax
call esi
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x50], 0x44
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x44
mov dword [esp], edi
call esi
mov dword [0x743514], 1
jmp 0x51b4e6
mov dword [esp + 4], ebx
mov dword [esp], str.rndw32gather_random_fast:_ori_d_n
call dbg._gcry_log_debug
jmp 0x51b266