Function at 0x100195f
Capabilities:
Get memory capacity
Get system information on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
push 0x1007160
mov dword [0x1007160], 0x40
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
push 0x1007600
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [0x10070e8]
xor ebx, ebx
inc ebx
test ecx, ecx
jne 0x1001a13
cmp dword [0x1007174], 0
mov ecx, 0x3fffffff
ja 0x10019af
mov eax, dword [0x1007170]
jb 0x10019b1
cmp eax, ecx
jb 0x10019b1
mov eax, ecx
cmp dword [0x10071d8], ebx
jne 0x10019d9
cmp dword [0x10071f0], ebx
jne 0x10019d9
test eax, eax
mov dword [ebp - 8], eax
fild dword [ebp - 8]
jge 0x10019d1
fadd qword [0x10011a8]
fmul qword [0x10011a0]
jmp 0x10019ef
test eax, eax
mov dword [ebp - 8], eax
fild dword [ebp - 8]
jge 0x10019e9
fadd qword [0x10011a8]
fmul qword [0x1001198]
call sub.msvcrt.dll__ftol
mov esi, dword [0x1007604]
or edi, 0xffffffff
cmp eax, edi
jbe 0x1001a0a
lea eax, [esi + esi]
mov ecx, eax
mov eax, edi
sub eax, ecx
lea eax, [esi + eax - 1]
jmp 0x1001aa1
cmp ecx, 0xa0
jae 0x1001a35
push 0x1cf3
call fcn.010014eb
mov esi, dword [0x1007604]
mov eax, 0x28000
jmp 0x1001ab8
mov eax, dword [0x1007184]
or edi, 0xffffffff
test eax, eax
ja 0x1001a4d
mov edx, dword [0x1007180]
jb 0x1001a51
cmp edx, edi
jb 0x1001a51
mov edx, edi
xor eax, eax
shrd edx, eax, 0xa
shr eax, 0xa
xor esi, esi
cmp esi, eax
jb 0x1001a8c
ja 0x1001a64
cmp ecx, edx
jbe 0x1001a8c
push 0x1cf4
call fcn.010014eb
cmp dword [0x1007184], 0
ja 0x1001a82
mov eax, dword [0x1007180]
jb 0x1001a84
cmp eax, edi
jb 0x1001a84
mov eax, edi
mov esi, dword [0x1007604]
jmp 0x1001aa8
cmp ecx, edi
mov eax, ecx
jb 0x1001a94
mov eax, edi
mov esi, dword [0x1007604]
shl eax, 0xa
lea eax, [eax + esi - 1]
xor edx, edx
div esi
imul eax, esi
mov ecx, 0x28000
cmp eax, ecx
mov dword [0x1007144], eax
jae 0x1001abd
mov eax, ecx
mov dword [0x1007144], eax
test eax, eax
mov dword [ebp - 8], eax
fild dword [ebp - 8]
jge 0x1001acd
fadd qword [0x10011a8]
fmul qword [0x1001190]
call sub.msvcrt.dll__ftol
cdq
push 4
pop ecx
idiv ecx
xor edx, edx
div esi
imul eax, esi
cmp eax, esi
jg 0x1001aeb
mov eax, esi
mov ecx, 0x40000
cmp eax, ecx
jl 0x1001af6
mov eax, ecx
cmp dword [0x10071d8], ebx
mov dword [0x10070e0], eax
mov dword [0x10071ac], eax
mov dword [0x10070dc], eax
jne 0x1001b12
mov dword [0x1007148], eax
push 0x10071c0
push ebx
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
mov eax, dword [0x10071c0]
cmp eax, 2
jae 0x1001b2b
push 2
pop eax
mov esi, dword [0x1005020]
mov ecx, dword [0x1007604]
imul eax, esi
lea eax, [eax + ecx - 1]
xor edx, edx
div ecx
mov edi, eax
imul edi, ecx
mov eax, 0x1000
cmp esi, eax
mov dword [ebp - 4], edi
jg 0x1001b55
mov esi, eax
xor edx, edx
lea eax, [ecx + esi*4 + 0xf9f]
div ecx
mov edx, dword [0x10071ac]
imul eax, ecx
mov ecx, dword [0x10070e0]
cmp ecx, edx
mov dword [ebp - 8], eax
jg 0x1001b78
mov ecx, edx
mov edx, dword [0x10070dc]
add ecx, edx
lea esi, [eax + ecx*2]
add esi, edi
cmp esi, dword [0x1007144]
jbe 0x1001bad
mov eax, dword [0x10070e8]
test eax, eax
je 0x1001ba7
cmp eax, 0xa0
jb 0x1001ba7
push 0x1cf3
call fcn.010014eb
mov dword [0x1007144], esi
mov edi, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push 4
push 0x2000
push dword [0x1007144]
push 0
call edi
test eax, eax
mov dword [0x100762c], eax
jne 0x1001bd7
push 0x1cf0
call fcn.01001519
mov ecx, dword [0x10070e0]
xor edx, edx
mov ebx, 0x1007138
lea esi, [eax + edx]
mov dword [ebx], esi
mov esi, dword [0x10071ac]
cmp ecx, esi
jle 0x1001bf5
mov esi, ecx
add ebx, 4
add edx, esi
cmp ebx, 0x1007140
jl 0x1001be4
lea esi, [eax + edx]
add edx, dword [ebp - 4]
mov dword [0x10070ec], esi
mov esi, 0x10070f8
lea ebx, [eax + edx]
add edx, dword [0x10070dc]
mov dword [esi], ebx
add esi, 4
cmp esi, 0x1007100
jl 0x1001c13
mov esi, dword [0x10070f8]
mov dword [0x10070e4], ecx
lea ecx, [eax + edx]
add edx, dword [ebp - 8]
push 4
push 0x1000
mov dword [0x10070d8], ecx
mov dword [0x10075f0], ecx
lea ecx, [eax + edx]
push edx
push eax
mov dword [0x1007118], esi
mov dword [0x1007108], ecx
mov dword [0x1007104], ecx
mov dword [0x1007130], ecx
call edi
pop edi
pop esi
pop ebx
leave
ret