Function at 0x901ff8b
Capabilities:
Get common file path

Disassembly:
push 0x80c
mov eax, 0x90a8cd5
call fcn.0900578b
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x7f4], eax
mov eax, 0x90c0940
mov dword [ebp - 0x818], esi
mov dword [ebp - 0x800], esi
mov dword [ebp - 0x808], edi
test edi, edi
je 0x901ffff
push eax
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x901fff3
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 0x901fff3
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 0x901ffff
xor ebx, ebx
mov edi, ebx
mov dword [ebp - 0x808], edi
jmp 0x9020001
xor ebx, ebx
push ebx
push ebx
push 5
call fcn.0901399f
add esp, 0xc
test al, al
jne 0x9020341
mov ecx, esi
call fcn.0901399f
test al, al
jne 0x9020027
xor al, al
jmp 0x90203c8
cmp dword [esi + 0x108], ebx
jne 0x9020038
mov ecx, esi
call fcn.09012a13
jmp 0x9020020
push 0x104
lea eax, [ebp - 0x118]
mov byte [ebp - 0x7e5], bl
push eax
mov byte [ebp - 0x7fc], bl
mov byte [ebp - 0x7f8], bl
call dword [sym.imp.kernel32.dll_GetSystemDirectoryA]
test eax, eax
je 0x9020316
mov ecx, 0x104
cmp eax, ecx
je 0x9020316
push str.user32.dll
push ecx
lea eax, [ebp - 0x118]
push eax
call fcn.0901399f
add esp, 0xc
test eax, eax
jne 0x9020316
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [ebp - 0x810], eax
test eax, eax
je 0x9020316
push str.EnumDisplayDevicesA
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [ebp - 0x7ec], eax
test eax, eax
je 0x90201be
xor eax, eax
inc eax
push 0x1a8
mov dword [ebp - 0x7f0], 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 - 0x804], ebx
push ebx
push eax
push ebx
jmp 0x902014b
test edi, edi
jne 0x9020116
mov eax, dword [ebp - 0x540]
shr eax, 2
and eax, 0xffffff01
jmp 0x902012b
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 - 0x7fc], eax
test al, al
jne 0x9020164
mov eax, dword [ebp - 0x804]
lea ecx, [ebp - 0x5e4]
push ebx
inc eax
push ecx
mov dword [ebp - 0x804], eax
push eax
mov ecx, dword [ebp - 0x7ec]
push ebx
call dword [0x90ae2d0]
call dword [ebp - 0x7ec]
test eax, eax
jne 0x9020102
jmp 0x90201c7
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 [0x90ae2d0]
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 0x90201c7
xor eax, eax
inc eax
mov dword [ebp - 0x7f0], eax
push dword [ebp - 0x810]
call dword [sym.imp.kernel32.dll_FreeLibrary]
cmp byte [ebp - 0x7f8], 0
je 0x9020316
push ebx
push ebx
push dword [ebp - 0x7f4]
push esi
call fcn.0901399f
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 - 0x814], 0x104
mov byte [ebp - 0x7e5], 0
test bl, bl
je 0x90202f3
mov esi, dword [esi + 0x108]
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x814]
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 [0x90ae2d0]
call esi
mov esi, dword [ebp - 0x818]
test eax, eax
setne dl
or dword [ebp - 4], 0xffffffff
xor eax, eax
inc eax
jmp 0x90202d3
mov ecx, dword [ebp - 0x7f4]
test dl, dl
je 0x90202f5
cmp dword [ebp - 0x80c], eax
jb 0x90202f5
lea eax, [ebp - 0x21c]
push eax
call fcn.0900d989
jmp 0x90202fb
xor ebx, ebx
mov byte [ebp - 0x7f0], bl
mov ecx, esi
call fcn.09012a13
cmp byte [ebp - 0x7e5], 0
jne 0x9020341
mov eax, dword [ebp - 0x7f0]
jmp 0x90203c8
mov ecx, esi
call fcn.09012a13
cmp byte [ebp - 0x7e5], 0
je 0x9020337
cmp byte [ebp - 0x7fc], 0
jne 0x9020337
test edi, edi
jne 0x90203ce
push 0x67656e20
jmp 0x90203d3
push ebx
push ebx
test edi, edi
mov eax, 0x90c0940
push ebx
cmovne eax, edi
push eax
call dword [sym.imp.GDI32.dll_CreateDCA]
mov edi, eax
test edi, edi
je 0x90203ce
lea eax, [ebp - 0x424]
mov dword [ebp - 0x800], 0x103
push eax
lea eax, [ebp - 0x800]
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 0x90203c6
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x43c]
call fcn.0900cf2c
mov ecx, dword [ebp - 0x7f4]
lea eax, [ebp - 0x43c]
push eax
mov dword [ebp - 4], 2
call fcn.0901399f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x43c]
call fcn.0901399f
mov al, bl
call fcn.0900625f
ret
push 0x7061726d
call fcn.0901399f
int3