Function at 0x90244c1
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, 0x90ea240
mov dword [ebp - 0x7f0], esi
mov dword [ebp - 0x804], esi
mov dword [ebp - 0x810], edi
test edi, edi
je 0x9024535
push eax
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x9024529
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 0x9024529
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 0x9024535
xor ebx, ebx
mov edi, ebx
mov dword [ebp - 0x810], edi
jmp 0x9024537
xor ebx, ebx
push ebx
push ebx
push 5
call fcn.090a8fc5
add esp, 0xc
test al, al
jne 0x9024885
mov ecx, esi
call fcn.090a8fc5
test al, al
jne 0x902455d
xor al, al
jmp 0x902490c
cmp dword [esi + 0x118], ebx
jne 0x902456e
mov ecx, esi
call fcn.0901471e
jmp 0x9024556
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 0x902485a
mov ecx, 0x104
cmp eax, ecx
je 0x902485a
push str.user32.dll
push ecx
lea eax, [ebp - 0x118]
push eax
call fcn.090a8fc5
add esp, 0xc
test eax, eax
jne 0x902485a
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [ebp - 0x814], eax
test eax, eax
je 0x902485a
push str.EnumDisplayDevicesA
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [ebp - 0x7ec], eax
test eax, eax
je 0x90246f4
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 0x9024681
test edi, edi
jne 0x902464c
mov eax, dword [ebp - 0x540]
shr eax, 2
and eax, 0xffffff01
jmp 0x9024661
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 0x902469a
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 0x9024638
jmp 0x90246fe
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 0x90246fe
mov dword [ebp - 0x7fc], 1
push dword [ebp - 0x814]
call dword [sym.imp.kernel32.dll_FreeLibrary]
cmp byte [ebp - 0x7f8], 0
je 0x902485a
push ebx
push ebx
push dword [ebp - 0x7f4]
push esi
call fcn.090a8fc5
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 0x902482f
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 0x9024835
cmp dword [ebp - 0x80c], 1
mov byte [ebp - 0x7e5], bl
jb 0x9024835
mov ecx, dword [ebp - 0x7f4]
lea eax, [ebp - 0x21c]
push eax
call fcn.0900f573
mov ecx, dword [ebp - 0x7f0]
mov byte [ebp - 0x7e5], bl
jmp 0x9024841
xor ebx, ebx
mov ecx, esi
jmp 0x902483b
mov ecx, dword [ebp - 0x7f0]
mov byte [ebp - 0x7fc], bl
call fcn.0901471e
cmp byte [ebp - 0x7e5], 0
jne 0x9024885
mov al, byte [ebp - 0x7fc]
jmp 0x902490c
mov ecx, esi
call fcn.0901471e
cmp byte [ebp - 0x7e5], 0
je 0x902487b
cmp byte [ebp - 0x800], 0
jne 0x902487b
test edi, edi
jne 0x9024912
push 0x67656e20
jmp 0x9024917
push ebx
push ebx
test edi, edi
mov eax, 0x90ea240
push ebx
cmovne eax, edi
push eax
call dword [sym.imp.GDI32.dll_CreateDCA]
mov edi, eax
test edi, edi
je 0x9024912
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 0x902490a
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x43c]
call fcn.0900e8b2
mov ecx, dword [ebp - 0x7f4]
lea eax, [ebp - 0x43c]
push eax
mov dword [ebp - 4], 2
call fcn.090a8fc5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x43c]
call fcn.090a8fc5
mov al, bl
call fcn.09006fcf
ret
push 0x7061726d
call fcn.090a8fc5
int3