Function at 0x901f6d7
Capabilities:
Get common file path

Disassembly:
push 0x80c
mov eax, 0x90a6884
call fcn.0900556b
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x7f4], eax
mov eax, 0x90be940
mov dword [ebp - 0x818], esi
mov dword [ebp - 0x800], esi
mov dword [ebp - 0x808], edi
test edi, edi
je 0x901f74b
push eax
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x901f73f
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 0x901f73f
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 0x901f74b
xor ebx, ebx
mov edi, ebx
mov dword [ebp - 0x808], edi
jmp 0x901f74d
xor ebx, ebx
push ebx
push ebx
push 5
call fcn.0909ff92
add esp, 0xc
test al, al
jne 0x901fa8e
mov ecx, esi
call fcn.0909ff92
test al, al
jne 0x901f773
xor al, al
jmp 0x901fb11
cmp dword [esi + 0x108], 0
jne 0x901f785
mov ecx, esi
call fcn.090122fd
jmp 0x901f76c
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 0x901fa63
mov ecx, 0x104
cmp eax, ecx
je 0x901fa63
push str.user32.dll
push ecx
lea eax, [ebp - 0x118]
push eax
call fcn.0909ff92
add esp, 0xc
test eax, eax
jne 0x901fa63
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [ebp - 0x810], eax
test eax, eax
je 0x901fa63
push str.EnumDisplayDevicesA
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [ebp - 0x7ec], eax
test eax, eax
je 0x901f90b
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 0x901f898
test edi, edi
jne 0x901f863
mov eax, dword [ebp - 0x540]
shr eax, 2
and eax, 0xffffff01
jmp 0x901f878
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 0x901f8b1
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 [0x90ac2d4]
call dword [ebp - 0x7ec]
test eax, eax
jne 0x901f84f
jmp 0x901f914
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 [0x90ac2d4]
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 0x901f914
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 0x901fa63
push ebx
push ebx
push dword [ebp - 0x7f4]
push esi
call fcn.0909ff92
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 0x901fa40
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 [0x90ac2d4]
call esi
mov esi, dword [ebp - 0x818]
test eax, eax
setne dl
or dword [ebp - 4], 0xffffffff
xor eax, eax
inc eax
jmp 0x901fa20
mov ecx, dword [ebp - 0x7f4]
test dl, dl
je 0x901fa42
cmp dword [ebp - 0x80c], eax
jb 0x901fa42
lea eax, [ebp - 0x21c]
push eax
call fcn.0900d513
jmp 0x901fa48
xor ebx, ebx
mov byte [ebp - 0x7f0], bl
mov ecx, esi
call fcn.090122fd
cmp byte [ebp - 0x7e5], 0
jne 0x901fa8e
mov eax, dword [ebp - 0x7f0]
jmp 0x901fb11
mov ecx, esi
call fcn.090122fd
cmp byte [ebp - 0x7e5], 0
je 0x901fa84
cmp byte [ebp - 0x7fc], 0
jne 0x901fa84
test edi, edi
jne 0x901fb17
push 0x67656e20
jmp 0x901fb1c
push ebx
push ebx
test edi, edi
mov eax, 0x90be940
push ebx
cmovne eax, edi
push eax
call dword [sym.imp.GDI32.dll_CreateDCA]
mov edi, eax
test edi, edi
je 0x901fb17
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 0x901fb0f
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x43c]
call fcn.0900bf5b
mov ecx, dword [ebp - 0x7f4]
lea eax, [ebp - 0x43c]
push eax
mov dword [ebp - 4], 2
call fcn.0909ff92
lea ecx, [ebp - 0x43c]
call fcn.0900e401
mov al, bl
call fcn.0900602f
ret
push 0x7061726d
call fcn.0909ff92
int3