Function at 0x9024511
Capabilities:
Get common file path

Disassembly:
push 0x80c
mov eax, 0x90d0091
call fcn.0900620a
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x7f4], eax
mov eax, 0x90ea230
mov dword [ebp - 0x7f0], esi
mov dword [ebp - 0x804], esi
mov dword [ebp - 0x810], edi
test edi, edi
je 0x9024585
push eax
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x9024579
push str.display
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x9024579
push str.Display
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x9024585
xor ebx, ebx
mov edi, ebx
mov dword [ebp - 0x810], edi
jmp 0x9024587
xor ebx, ebx
push ebx
push ebx
push 5
call fcn.09094540
add esp, 0xc
test al, al
jne 0x90248d5
mov ecx, esi
call fcn.09094540
test al, al
jne 0x90245ad
xor al, al
jmp 0x902495c
cmp dword [esi + 0x118], ebx
jne 0x90245be
mov ecx, esi
call fcn.09014753
jmp 0x90245a6
push 0x104
lea eax, [ebp - 0x118]
mov byte [ebp - 0x7e5], bl
push eax
mov byte [ebp - 0x800], bl
mov byte [ebp - 0x7f8], bl
call dword [sym.imp.kernel32.dll_GetSystemDirectoryA]
test eax, eax
je 0x90248aa
mov ecx, 0x104
cmp eax, ecx
je 0x90248aa
push str.user32.dll
push ecx
lea eax, [ebp - 0x118]
push eax
call fcn.09094540
add esp, 0xc
test eax, eax
jne 0x90248aa
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [ebp - 0x814], eax
test eax, eax
je 0x90248aa
push str.EnumDisplayDevicesA
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [ebp - 0x7ec], eax
test eax, eax
je 0x9024744
xor eax, eax
inc eax
push 0x1a8
mov dword [ebp - 0x7fc], eax
mov byte [ebp - 0x7e5], al
lea eax, [ebp - 0x5e4]
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x5e4], 0x1a8
lea eax, [ebp - 0x5e4]
mov dword [ebp - 0x808], ebx
push ebx
push eax
push ebx
jmp 0x90246d1
test edi, edi
jne 0x902469c
mov eax, dword [ebp - 0x540]
shr eax, 2
and eax, 0xffffff01
jmp 0x90246b1
lea eax, [ebp - 0x5e0]
push edi
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
neg eax
pop ecx
sbb al, al
pop ecx
inc al
mov dword [ebp - 0x800], eax
test al, al
jne 0x90246ea
mov eax, dword [ebp - 0x808]
lea ecx, [ebp - 0x5e4]
push ebx
inc eax
push ecx
mov dword [ebp - 0x808], eax
push eax
mov ecx, dword [ebp - 0x7ec]
push ebx
call dword [0x90d62d0]
call dword [ebp - 0x7ec]
test eax, eax
jne 0x9024688
jmp 0x902474e
push 0x1a8
lea eax, [ebp - 0x78c]
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x7ec]
lea eax, [ebp - 0x78c]
add esp, 0xc
mov dword [ebp - 0x78c], 0x1a8
push ebx
push eax
push ebx
lea eax, [ebp - 0x5e0]
push eax
call dword [0x90d62d0]
call dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x7f8]
test eax, eax
push 1
movzx ecx, cl
pop eax
cmovne ecx, eax
mov dword [ebp - 0x7f8], ecx
jmp 0x902474e
mov dword [ebp - 0x7fc], 1
push dword [ebp - 0x814]
call dword [sym.imp.kernel32.dll_FreeLibrary]
cmp byte [ebp - 0x7f8], 0
je 0x90248aa
push ebx
push ebx
push dword [ebp - 0x7f4]
push esi
call fcn.09094540
push 0x58
mov bl, al
lea eax, [ebp - 0x7e4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
and dword [ebp - 0x80c], 0
lea eax, [ebp - 0x6e4]
add esp, 0x1c
mov dword [ebp - 0x7e4], 0x58
mov dword [ebp - 0x7e0], 0x300
mov dword [ebp - 0x7dc], 0x21
mov dword [ebp - 0x7d8], eax
mov dword [ebp - 0x7c0], 0x6d6e7472
mov dword [ebp - 0x818], 0x104
mov byte [ebp - 0x7e5], 0
test bl, bl
je 0x902487f
mov esi, dword [esi + 0x118]
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x818]
xor ebx, ebx
push eax
lea eax, [ebp - 0x21c]
mov dword [ebp - 4], ebx
push eax
lea eax, [ebp - 0x7e4]
mov ecx, esi
push eax
push ebx
call dword [0x90d62d0]
call esi
test eax, eax
mov byte [ebp - 0x7e5], bl
setne al
or dword [ebp - 4], 0xffffffff
test al, al
je 0x9024885
cmp dword [ebp - 0x80c], 1
mov byte [ebp - 0x7e5], bl
jb 0x9024885
mov ecx, dword [ebp - 0x7f4]
lea eax, [ebp - 0x21c]
push eax
call fcn.0900f5b3
mov ecx, dword [ebp - 0x7f0]
mov byte [ebp - 0x7e5], bl
jmp 0x9024891
xor ebx, ebx
mov ecx, esi
jmp 0x902488b
mov ecx, dword [ebp - 0x7f0]
mov byte [ebp - 0x7fc], bl
call fcn.09014753
cmp byte [ebp - 0x7e5], 0
jne 0x90248d5
mov al, byte [ebp - 0x7fc]
jmp 0x902495c
mov ecx, esi
call fcn.09014753
cmp byte [ebp - 0x7e5], 0
je 0x90248cb
cmp byte [ebp - 0x800], 0
jne 0x90248cb
test edi, edi
jne 0x9024962
push 0x67656e20
jmp 0x9024967
push ebx
push ebx
test edi, edi
mov eax, 0x90ea230
push ebx
cmovne eax, edi
push eax
call dword [sym.imp.GDI32.dll_CreateDCA]
mov edi, eax
test edi, edi
je 0x9024962
lea eax, [ebp - 0x424]
mov dword [ebp - 0x804], 0x103
push eax
lea eax, [ebp - 0x804]
push eax
push edi
call dword [sym.imp.GDI32.dll_GetICMProfileW]
mov esi, eax
test esi, esi
push edi
setne bl
call dword [sym.imp.GDI32.dll_DeleteDC]
test esi, esi
je 0x902495a
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x43c]
call fcn.0900e91b
mov ecx, dword [ebp - 0x7f4]
lea eax, [ebp - 0x43c]
push eax
mov dword [ebp - 4], 2
call fcn.09094540
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x43c]
call fcn.09094540
mov al, bl
call fcn.09006fcf
ret
push 0x7061726d
call fcn.09094540
int3