Function at 0x4335a0
Capabilities:
Get memory capacity

Disassembly:
sub esp, 0x44
push ebx
push ebp
push esi
mov esi, dword [esp + 0x54]
push edi
push 0x482564
push esi
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
mov ebp, dword [esp + 0x5c]
not ecx
dec ecx
mov edi, ecx
cmp edi, ebp
jle 0x4335d9
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
call fcn.00433270
sub esp, 8
add edi, esi
fstp qword [esp]
push 0x48436c
push edi
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebp
jle 0x43360e
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x44
ret
add ecx, esi
push 0x482564
push ecx
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebp
jle 0x433638
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x44
ret
add ecx, esi
push 0x484334
push ecx
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
cmp edi, ebp
jle 0x433664
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov ecx, dword [esp + 0x3c]
add edi, esi
shr ecx, 0x14
push ecx
push 0x484310
push edi
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebp
jle 0x4336a1
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x44
ret
mov edx, dword [esp + 0x40]
add ecx, esi
shr edx, 0x14
push edx
push 0x4842ec
push ecx
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebp
jle 0x4336d3
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x44
ret
mov eax, dword [esp + 0x4c]
add ecx, esi
shr eax, 0x14
push eax
push 0x4842c8
push ecx
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebp
jle 0x433705
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x44
ret
mov edx, dword [esp + 0x50]
add ecx, esi
shr edx, 0x14
push edx
push 0x4842a0
push ecx
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebp
jle 0x433737
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x44
ret
add ecx, esi
push 0x482564
push ecx
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebp
jle 0x433761
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x44
ret
add ecx, esi
push 0x482564
push ecx
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebp
jle 0x43378b
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x44
ret
add ecx, esi
push 0x48427c
push ecx
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
cmp edi, ebp
jle 0x4337b7
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
push 6
push 0
push 0
push 0
call dword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsA]
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [esp + 0x5c], ebx
jne 0x4337fb
add edi, esi
push str.ERORR_
push edi
call fcn.004361ae
mov edi, esi
or ecx, ebx
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
cmp edi, ebp
jle 0x4337fb
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x1c
push eax
push 0
push ebx
mov dword [esp + 0x1c], 0
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
je 0x43391b
lea ecx, [esp + 0x58]
xor ebx, ebx
push ecx
mov ecx, dword [esp + 0x60]
push ebx
lea edx, [esp + 0x1c]
push ebx
push edx
lea eax, [esp + 0x28]
push ebx
push eax
push ecx
mov dword [esp + 0x74], ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyA]
test eax, eax
jne 0x4338be
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x433898
test ebx, ebx
je 0x43385e
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edx, dword [esp + 0x58]
lea eax, [edx + edx]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x58]
mov ebx, eax
push ecx
push edx
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x1c]
push ebx
push eax
lea ecx, [esp + 0x28]
push 0
push ecx
push edx
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyA]
test eax, eax
je 0x433848
jmp 0x4338be
add edi, esi
push str.ERORR_
push edi
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
cmp edi, ebp
jg 0x433954
mov eax, dword [esp + 0x10]
push ebx
inc eax
add edi, esi
push eax
push str._i__s_n
push edi
mov dword [esp + 0x20], eax
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
cmp edi, ebp
jg 0x433954
test ebx, ebx
je 0x4338f6
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x18]
mov dword [esp + 0x10], eax
push ecx
push eax
push edx
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
jne 0x433821
mov ebx, dword [esp + 0x5c]
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x43395e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x103
je 0x43395e
add edi, esi
push str.ERORR_
push edi
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
cmp edi, ebp
jle 0x43395e
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
add edi, esi
push 0x482564
push edi
call fcn.004361ae
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
pop edi
mov eax, ecx
pop esi
pop ebp
inc eax
pop ebx
add esp, 0x44
ret