Function at 0x75e3b70a
Capabilities:
Get system information on windows

Disassembly:
cmp dword [ebp + 0xc], 0
jne 0x75e3a0eb
mov eax, dword [0x75ea00ac]
mov esi, dword [sym.imp.kernel32.dll_FreeLibrary]
test eax, eax
je 0x75e3a096
push eax
call esi
mov eax, dword [0x75ea0e24]
test eax, eax
jne 0x75e64181
mov esi, dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push 0x75ea02e0
call esi
push 0x75ea0320
call esi
push 0x75ea0300
call esi
push 0x75ea02c0
call esi
push 0x75ea0240
call esi
push 0x75ea0280
call esi
push 0x75ea0260
call esi
push 0x75ea02a0
call esi
call fcn.75e3a073
call fcn.75e3a0f7
xor esi, esi
jmp 0x75e3b97e
mov edi, edi
push ebp
mov ebp, esp
cmp dword [ebp + 0xc], 1
jne 0x75e3b722
push dword [ebp + 0x10]
push 1
push dword [ebp + 8]
call fcn.75e3cedc
pop ebp
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x6a4
mov eax, dword [0x75ea0720]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 0xc], 1
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0x424], eax
jne 0x75e3a07e
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x420], 0x240
mov ecx, dword [ecx + 0x30]
mov ebx, dword [ecx + 0x1d4]
push eax
call dword [sym.imp.kernel32.dll_DisableThreadLibraryCalls]
mov esi, dword [sym.imp.kernel32.dll_InitializeCriticalSection]
push 0x75ea02e0
call esi
push 0x75ea0320
mov edi, eax
call esi
push 0x75ea0300
or edi, eax
call esi
push 0x75ea02c0
or edi, eax
call esi
push 0x75ea0240
or edi, eax
call esi
push 0x75ea0280
or edi, eax
call esi
push 0x75ea0260
or edi, eax
call esi
push 0x75ea02a0
or edi, eax
call esi
or eax, edi
jl 0x75e3db9f
call fcn.75e3bf24
test eax, eax
jl 0x75e3db9f
call fcn.75e3cea8
test eax, eax
jl 0x75e3db9f
xor esi, esi
push esi
push 0x2c
lea eax, [ebp - 0x464]
push eax
push esi
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
jl 0x75e3db9f
mov eax, dword [ebp - 0x444]
mov dword [0x75ea0114], eax
call fcn.75e3bcab
test eax, eax
je 0x75e3db9f
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
test byte [eax + 3], 2
jne 0x75e64100
cmp ebx, esi
je 0x75e64135
push 0x75e3bc50
push ebx
push 0x75e3bc3c
push 0x75e3bc24
lea eax, [ebp - 0x41c]
push 0x100
push eax
call fcn.75e3bbb9
add esp, 0x18
push 0x75ea071c
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x6a4]
push eax
lea eax, [ebp - 0x41c]
push eax
call fcn.75e3bf9f
cmp eax, esi
jl 0x75e3db9f
cmp dword [0x75ea071c], esi
jne 0x75e6416f
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
xor edx, edx
test byte [eax + 3], 2
jne 0x75e64152
mov ecx, 0x8e
lea esi, [ebp - 0x69c]
mov edi, sym.USER32.dll_gSharedInfo
rep movsd dword es:[edi], dword [esi]
xor esi, esi
mov eax, dword [sym.USER32.dll_gSharedInfo]
mov ecx, dword [0x75ea04e4]
mov dword [0x75ea0138], eax
mov dword [0x75ea013c], ecx
test byte [eax], 4
je 0x75e3b8f0
call fcn.75e3c2ba
push 0x104
lea eax, [ebp - 0x21c]
push eax
call fcn.75e3ccec
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov edx, eax
push edx
push sym.USER32.dll_gSharedInfo
call dword [0x75ea0190]
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [eax + 0x2c], 0x75e3ba10
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [eax + 0x14c], esi
mov eax, dword [sym.imp.kernel32.dll_FindResourceExA]
mov dword [reloc.kernel32.dll_FindResourceExA], eax
mov eax, dword [sym.imp.kernel32.dll_FindResourceExW]
mov dword [reloc.kernel32.dll_FindResourceExW], eax
mov eax, dword [sym.imp.kernel32.dll_LoadStringBaseExW]
mov dword [reloc.kernel32.dll_LoadStringBaseExW], eax
mov eax, dword [sym.imp.kernel32.dll_LoadResource]
mov dword [reloc.kernel32.dll_LoadResource], eax
mov eax, dword [sym.imp.kernel32.dll_SizeofResource]
push sym.USER32.dll_WaitForInputIdle
mov dword [reloc.kernel32.dll_SizeofResource], eax
call dword [sym.imp.kernel32.dll_RegisterWaitForInputIdle]
mov eax, dword [ebp - 0x424]
mov dword [sym.USER32.dll_Ordinal_2335], eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
or dword [0x75ea0124], 0x7fff
mov dword [0x75ea010c], eax
push dword [ebp + 0xc]
push dword [ebp - 0x424]
call dword [sym.imp.gdi32.dll_GdiDllInitialize]
cmp dword [ebp + 0xc], 1
mov edi, eax
jne 0x75e3b9df
cmp dword [0x75ea071c], esi
jne 0x75e3db93
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf70]
mov eax, dword [eax + 0x800]
and eax, 0x20000000
xor ecx, ecx
or eax, ecx
jne 0x75e3db93
push esi
push 8
lea eax, [ebp - 0x14]
push eax
push 0x75e3b9f8
push esi
push esi
push esi
call dword [sym.imp.kernel32.dll_QueryActCtxSettingsW]
test eax, eax
jne 0x75e3fd33
xor eax, eax
cmp edi, esi
setge al
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.75e36120
leave
ret 0xc
mov byte [0x75ea0040], 1
jmp 0x75e3b9df
xor eax, eax
jmp 0x75e3b9e6
cmp word [ebp - 0x14], 0x54
je 0x75e3fd3e
jmp 0x75e3b9df
cmp word [ebp - 0x14], 0x74
jne 0x75e3dba6
call sym.USER32.dll_SetProcessDPIAware
jmp 0x75e3b9df
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x438], 0x238
mov dword [ebp - 0x430], sym.USER32.dll_gSharedInfo
mov dword [ebp - 0x42c], esi
mov ecx, dword [ecx + 0x30]
lea eax, [ebp - 0x438]
or eax, 1
mov dword [ecx + 0x2c], eax
jmp 0x75e3b828
push 0x75ea071c
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x6a4]
push eax
push 0x75e3bc50
jmp 0x75e3b86e
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
cmp dword [eax + 0x2c], esi
jne 0x75e3db9f
xchg dword [ebp - 0x428], eax
jmp 0x75e3b8b0
call fcn.75e7c886
test eax, eax
jne 0x75e3b8fc
jmp 0x75e3db9f
push eax
call esi
jmp 0x75e3a0a3