Function at 0x4436ed
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
push edi
mov byte [ebp - 4], cl
mov edi, 0x56b010
mov ecx, edi
call fcn.00446bf3
xor ebx, ebx
cmp dword [0x56afdc], ebx
jne 0x44372a
cmp dword [0x56af90], ebx
je 0x44372a
dec dword [0x56b0fc]
js 0x443724
cmp byte [ebp - 4], bl
je 0x44372a
mov byte [ebp - 4], 1
jmp 0x44372d
mov byte [ebp - 4], bl
mov ecx, edi
call fcn.00446c71
cmp byte [ebp - 4], bl
je 0x44374c
push dword [0x56af98]
mov byte [0x56af89], 1
call dword [sym.imp.KERNEL32.dll_SetEvent]
cmp dword [0x56af8c], ebx
je 0x44375a
dec dword [0x56af8c]
cmp byte [0x56afb5], bl
je 0x4437a1
inc dword [0x56afa0]
cmp dword [0x56afa0], 0x3c
jb 0x4437a1
mov ecx, edi
mov dword [0x56afa0], ebx
call fcn.00446bf3
xor edx, edx
mov ecx, 0x1d4c0
call fcn.00443527
test eax, eax
je 0x44379a
push dword [0x56af98]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, edi
call fcn.00446c71
push 5
mov eax, 0x56b030
pop esi
mov edx, dword [eax]
mov ecx, dword [eax - 4]
mov dword [eax], ecx
sub ecx, edx
mov dword [eax + 4], ecx
mov ecx, dword [eax - 8]
add dword [eax + 8], ecx
mov dword [eax - 8], ebx
mov dword [eax + 0x10], ecx
adc dword [eax + 0xc], ebx
add eax, 0x1c
dec esi
jne 0x4437a9
cmp byte [0x56afae], bl
je 0x4437dd
mov esi, dword [0x56afc0]
shl esi, 0x14
jmp 0x4437e3
mov esi, dword [0x56af9c]
movzx eax, byte [0x56afb4]
neg eax
sbb eax, eax
and eax, esi
mov dword [0x56b0dc], eax
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
push ebx
push esi
push ebx
push dword [ebp - 0x2c]
call fcn.004420d2
push ebx
push eax
mov eax, dword [ebp - 0x1c]
add eax, 0xf3800000
push ebx
push eax
call fcn.004420d2
push ebx
push dword [0x56b0dc]
mov esi, eax
push ebx
push dword [0x56b0d8]
xor ecx, ecx
call fcn.004420d2
sub esi, eax
sbb ecx, edx
jne 0x443841
mov eax, 0x100000
cmp esi, eax
jbe 0x443848
mov eax, esi
mov dword [ebp - 8], ecx
jmp 0x44384b
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], eax
cmp byte [0x56afb7], bl
je 0x44387c
cmp byte [0x56afb8], bl
je 0x44388d
mov ecx, dword [0x56b0d4]
neg ecx
sbb ecx, ecx
and ecx, 0xffff63c0
add ecx, 0x13880
cmp dword [0x88cc08], ecx
jae 0x44388d
mov dword [0x56b0e8], ebx
mov dword [0x56b0d4], ebx
jmp 0x443974
cmp byte [0x56afaf], bl
jne 0x4438a5
mov dword [0x56b0e8], ebx
mov dword [0x56b0d4], eax
jmp 0x443974
call fcn.00495874
mov esi, dword [0x56b0d8]
mov ecx, dword [0x56b0dc]
xor edx, edx
xor edi, edi
add eax, eax
sub ecx, esi
sbb edx, edi
add ecx, eax
mov esi, ebx
adc edx, esi
mov dword [ebp - 0x10], ebx
cmp esi, edx
ja 0x4438d7
jb 0x4438d3
cmp eax, ecx
ja 0x4438d7
mov eax, ecx
mov esi, edx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
sub ecx, eax
mov eax, dword [0x56afc4]
sbb edx, esi
imul eax, dword [0x88cc08]
shrd ecx, edx, 1
shr edx, 1
push edx
push ecx
mov ecx, dword [0x56b0e8]
push ebx
push dword [ebp - 0xc]
lea eax, [eax + ecx + 0x100000]
push ebx
push eax
call fcn.004420d2
push edx
push eax
call fcn.004420d2
mov dword [0x56b0d4], eax
cmp byte [0x56afba], bl
je 0x443969
mov esi, 0x1d4c0
sub esi, dword [0x56b0e4]
cmp dword [0x56b0ec], ebx
je 0x44393c
cmp eax, dword [ebp - 0xc]
jne 0x443940
cmp edx, ebx
jne 0x443940
cmp esi, ebx
jge 0x44396f
cmp dword [0x56b0ec], ebx
je 0x44394e
dec dword [0x56b0ec]
lea eax, [ecx + esi]
mov ecx, 0x1000000
cmp eax, ecx
jle 0x44395c
mov eax, ecx
cmp eax, ebx
jge 0x443962
xor eax, eax
mov dword [0x56b0e8], eax
jmp 0x44396f
mov dword [0x56b0e8], ebx
mov edi, 0x56b010
cmp dword [0x56b108], ebx
je 0x4439b0
dec dword [0x56b108]
jne 0x4439b0
mov ecx, edi
call fcn.00446bf3
cmp dword [0x56affc], ebx
je 0x4439a9
mov eax, 0x56b008
call fcn.0044233c
push dword [0x56af98]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, edi
call fcn.00446c71
mov esi, 0x88d1a8
mov ecx, esi
call fcn.00446bf3
mov ecx, dword [0x56b0d0]
mov eax, dword [0x56b0d4]
cmp ecx, eax
jbe 0x4439d2
sub ecx, eax
call fcn.0048c9bf
call fcn.0048c8d6
test eax, eax
je 0x443a13
call fcn.0048c8d6
lea edi, [eax + 0x14]
call fcn.004b850a
sub eax, dword [edi]
mov dword [0x56b0e4], eax
cmp byte [0x56afb9], bl
je 0x443a19
mov ecx, dword [0x56afb0]
imul ecx, ecx, 0xea60
cmp eax, ecx
jb 0x443a19
mov eax, ecx
cdq
push edx
push eax
call fcn.0048c9fd
jmp 0x443a19
mov dword [0x56b0e4], ebx
mov ecx, esi
call fcn.00446c71
mov eax, dword [0x56b10c]
push 0x14
pop ecx
pop edi
inc eax
cmp eax, ecx
pop esi
pop ebx
mov dword [0x56b10c], eax
jl 0x443a3b
mov dword [0x56b10c], ecx
leave
ret