Function at 0x1035078
Capabilities:
Get common file path

Disassembly:
push 0x2c
mov eax, 0x105d922
call fcn.0104dd12
mov esi, 0x10049f4
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor ebx, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], ebx
movsw word es:[edi], word [esi]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
push ebx
push ebx
mov byte [ebp - 4], 2
call esi
cmp eax, ebx
jne 0x1035100
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, ebx
jle 0x10350ca
and eax, 0xffff
or eax, 0x80070000
cmp eax, ebx
mov dword [ebp - 0x28], eax
jl 0x10350d8
mov dword [ebp - 0x28], 0x80004005
push 0x10048e0
push 0x1004b68
call esi
push eax
call fcn.01048d15
add esp, 0xc
push ebx
mov byte [ebp - 4], bl
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
or dword [ebp - 4], 0xffffffff
pop ecx
jmp 0x10352ef
lea edi, [eax + 1]
push edi
lea ecx, [ebp - 0x2c]
call fcn.01033530
movzx eax, al
cmp eax, ebx
jne 0x1035143
push 0x10048a8
mov eax, 0x8007000e
push 0x1004b4c
push eax
mov dword [ebp - 0x28], eax
call fcn.01048c52
add esp, 0xc
push dword [ebp - 0x2c]
mov byte [ebp - 4], bl
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
or dword [ebp - 4], 0xffffffff
pop ecx
jmp 0x10352f4
push edi
mov edi, dword [ebp - 0x2c]
push edi
call esi
cmp eax, ebx
jne 0x103518d
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, ebx
jle 0x1035164
and eax, 0xffff
or eax, 0x80070000
cmp eax, ebx
mov dword [ebp - 0x28], eax
jl 0x1035172
mov dword [ebp - 0x28], 0x80004005
push 0x1004858
push 0x1004b30
call esi
push eax
call fcn.01048d15
add esp, 0xc
push edi
jmp 0x10350ee
movzx eax, word [edi]
push eax
call dword [sym.imp.msvcrt.dll_towupper]
mov word [ebp - 0x1c], ax
lea eax, [ebp - 0x24]
push eax
push 0x1002428
push 0x1004b08
mov esi, 0x4000000
push esi
call fcn.01048e9b
add esp, 0x14
push 0xffffffffffffffff
push 0x80
push 3
push ebx
push 3
push 0xc0000000
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
mov dword [ebp - 0x30], edi
cmp edi, ebx
je 0x103526b
cmp edi, 0xffffffff
je 0x103526b
push 0x1002428
push 0x1004af0
push esi
call fcn.01048e9b
add esp, 0xc
push ebx
lea eax, [ebp - 0x34]
push eax
push ebx
push ebx
push ebx
push ebx
push 0x53c030
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, ebx
jne 0x10351e8
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
cmp eax, 0x57
jne 0x1035233
push 0x1002428
push 0x1004ac8
push esi
call fcn.01048e9b
jmp 0x1035263
call edi
cmp eax, ebx
jle 0x1035243
and eax, 0xffff
or eax, 0x80070000
cmp eax, ebx
mov dword [ebp - 0x28], eax
jl 0x1035251
mov dword [ebp - 0x28], 0x80004005
push 0x1004a88
push 0x1004a68
call edi
push eax
call fcn.01048d15
add esp, 0xc
cmp dword [ebp - 0x30], ebx
jmp 0x10352aa
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, ebx
jle 0x1035281
and eax, 0xffff
or eax, 0x80070000
cmp eax, ebx
mov dword [ebp - 0x28], eax
jl 0x103528f
mov dword [ebp - 0x28], 0x80004005
lea eax, [ebp - 0x24]
push eax
push 0x100476c
push 0x1004a4c
call esi
push eax
call fcn.01048d15
add esp, 0x10
cmp edi, ebx
je 0x10352b4
lea ecx, [ebp - 0x30]
call fcn.0102fb22
push dword [ebp - 0x2c]
jmp 0x10350ee
cmp dword [ebp - 0x28], ebx
jge 0x103530e
push dword [ebp - 0x28]
push 0x1002428
push 0x1004a04
push 0x2000000
call fcn.01048e9b
add esp, 0x10
mov eax, dword [ebp - 0x28]
call fcn.0104dd7d
ret