Function at 0x10023fa0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006e6ad
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x10091018]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
sub eax, 0
je 0x10024130
sub eax, 1
jne 0x100241d0
call fcn.100234e0
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov dword [0x10093a2c], ecx
mov dword [0x10093a30], 0
mov dword [0x10093a34], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 2
push 0
mov dword [0x10093a38], eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
xor ecx, ecx
test eax, eax
push str.SHCore.dll
setns cl
mov dword [0x10093974], ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x1002404f
push str.SetProcessDpiAwareness
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10024048
push 2
call eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push str.SHCore.dll
mov edi, eax
mov dword [ebp + 0xc], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x100240a0
push str.GetDpiForMonitor
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp + 8], eax
test eax, eax
je 0x10024099
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
push 0
push 2
push edi
call dword [sym.imp.USER32.dll_MonitorFromWindow]
push eax
call dword [ebp + 8]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x100240c7
push edi
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0x5a
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
push edi
mov dword [ebp + 0xc], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [ebp + 0xc]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mov eax, dword [ebp - 0x10]
movsd xmm0, qword [0x10083158]
divsd xmm1, qword [0x10083168]
maxsd xmm0, xmm1
movsd qword [0x10093978], xmm0
mov eax, dword [eax]
call eax
mov dword [0x10093970], eax
mov esi, dword [eax]
call fcn.100243c0
mov ecx, dword [0x10093970]
push eax
mov eax, dword [esi + 0x34]
call eax
test eax, eax
je 0x100241e8
call fcn.10023ed0
neg eax
sbb eax, eax
neg eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [0x10093970]
mov edi, dword [esi]
call fcn.10023a90
push eax
mov eax, dword [edi + 0x34]
mov ecx, esi
call eax
test eax, eax
je 0x10024154
mov ecx, dword [0x10093970]
mov eax, dword [ecx]
call dword [eax + 0x4c]
mov ecx, 0x100939a4
call fcn.100435e0
mov ecx, dword [0x10093970]
test ecx, ecx
je 0x10024177
mov eax, dword [ecx]
call dword [eax + 0x30]
mov dword [0x10093970], 0
mov ecx, 0x10093a04
call fcn.1003d290
mov ecx, 0x10093950
call fcn.100407b0
push 0x10093980
mov dword [ebp + 0xc], 0x10093980
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov eax, dword [0x10093998]
test eax, eax
je 0x100241be
push eax
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
mov dword [0x10093998], 0
mov dword [ebp - 4], 0xffffffff
push 0x10093980
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [0x10093970]
mov eax, dword [ecx]
call dword [eax + 0x30]
push 0xffffffffffffffff
call fcn.1004f89d
int3