Function at 0x50cfc0
Capabilities:
Get system information on windows

Disassembly:
sub esp, 0x74
mov eax, dword [0x62d040]
xor eax, esp
mov dword [esp + 0x6c], eax
movups xmm0, xmmword [esp + 0x80]
mov eax, dword [esp + 0x7c]
push ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
push ebp
mov ebp, edx
push esi
push edi
mov edi, ecx
movups xmmword [esp + 0x28], xmm0
movups xmmword [esp + 0x38], xmm0
test ebx, ebx
je 0x50d025
lea eax, [esp + 0x20]
push eax
call sym.SystemInformer.exe_Ordinal_1425
mov ecx, dword [esp + 0x20]
mov esi, ecx
mov eax, dword [esp + 0x1c]
sub esi, dword [ebx]
mov edx, dword [esp + 0x24]
mov ebx, edx
sbb ebx, dword [eax + 4]
jmp 0x50d07f
mov eax, dword [0x635740]
or eax, dword [0x635744]
jne 0x50d05d
push eax
push 0x30
lea eax, [esp + 0x50]
push eax
push 3
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
js 0x50d05d
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [0x635740], eax
mov dword [0x635744], ecx
lea eax, [esp + 0x20]
push eax
call sym.SystemInformer.exe_Ordinal_1425
mov ecx, dword [esp + 0x20]
mov esi, ecx
sub esi, dword [0x635740]
mov edx, dword [esp + 0x24]
mov ebx, edx
sbb ebx, dword [0x635744]
mov eax, dword [esp + 0x14]
sub ecx, dword [eax]
sbb edx, dword [eax + 4]
cmp edx, ebx
jl 0x50d09a
jg 0x50d092
cmp ecx, esi
jbe 0x50d09a
mov dword [esp + 0x18], 1
call fcn.005a7260
mov edx, ebx
movss dword [esp + 0x1c], xmm0
mov ecx, esi
call fcn.005a7260
movss xmm1, dword [esp + 0x1c]
divss xmm1, xmm0
movss xmm2, dword [0x62453c]
mulss xmm1, dword [0x62453c]
movss xmm0, dword [0x6244ec]
minss xmm2, xmm1
comiss xmm0, xmm2
movss dword [esp + 0x14], xmm2
jbe 0x50d0e8
xorps xmm0, xmm0
movss dword [esp + 0x14], xmm0
lea eax, [esp + 0x28]
and ebp, 2
je 0x50d0f9
push dword [0x633bac]
jmp 0x50d0fb
push 6
push eax
push edi
call dword [sym.imp.USER32.dll_FillRect]
inc dword [esp + 0x28]
lea eax, [esp + 0x28]
inc dword [esp + 0x2c]
dec dword [esp + 0x30]
inc dword [esp + 0x38]
inc dword [esp + 0x3c]
dec dword [esp + 0x40]
test ebp, ebp
je 0x50d149
push dword [0x633bac]
push eax
push edi
call dword [sym.imp.USER32.dll_FillRect]
cmp dword [esp + 0x18], 0
je 0x50d142
push 0x808080
jmp 0x50d167
push 0x878200
jmp 0x50d167
push 0x10
push eax
push edi
call dword [sym.imp.USER32.dll_FillRect]
cmp dword [esp + 0x18], 0
je 0x50d162
push 0x808080
jmp 0x50d167
push 0x9eca9e
push edi
call dword [sym.imp.GDI32.dll_SetDCBrushColor]
mov eax, dword [0x6357b0]
test eax, eax
jne 0x50d184
push 0x12
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [0x6357b0], eax
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
movss xmm0, dword [esp + 0x14]
divss xmm0, dword [0x62453c]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
sub eax, esi
mov ecx, dword [esp + 0x2c]
push 0xf00021
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [esp + 0x38]
mulss xmm1, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si edx, xmm1
cmp edx, dword [esp + 0x3c]
cmovl edx, dword [esp + 0x3c]
sub eax, ecx
push eax
sub esi, edx
mov dword [esp + 0x30], edx
push esi
push ecx
push edx
push edi
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [0x635770]
test eax, eax
jne 0x50d1fd
push 2
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [0x635770], eax
push eax
lea eax, [esp + 0x3c]
push eax
push edi
call dword [sym.imp.USER32.dll_FrameRect]
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00583f7f
add esp, 0x74
ret 0x18