Function at 0x1035a6c
Capabilities:
Get common file path

Disassembly:
push 0x2c
mov eax, 0x105f042
call fcn.0104f396
mov esi, 0x1004a04
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 0x1035af4
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, ebx
jle 0x1035abe
and eax, 0xffff
or eax, 0x80070000
cmp eax, ebx
mov dword [ebp - 0x28], eax
jl 0x1035acc
mov dword [ebp - 0x28], 0x80004005
push 0x10048f0
push 0x1004b78
call esi
push eax
call fcn.0104a5f6
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 0x1035ce3
lea edi, [eax + 1]
push edi
lea ecx, [ebp - 0x2c]
call fcn.01033f0f
movzx eax, al
cmp eax, ebx
jne 0x1035b37
push 0x10048b8
mov eax, 0x8007000e
push 0x1004b5c
push eax
mov dword [ebp - 0x28], eax
call fcn.0104a504
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 0x1035ce8
push edi
mov edi, dword [ebp - 0x2c]
push edi
call esi
cmp eax, ebx
jne 0x1035b81
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, ebx
jle 0x1035b58
and eax, 0xffff
or eax, 0x80070000
cmp eax, ebx
mov dword [ebp - 0x28], eax
jl 0x1035b66
mov dword [ebp - 0x28], 0x80004005
push 0x1004868
push 0x1004b40
call esi
push eax
call fcn.0104a5f6
add esp, 0xc
push edi
jmp 0x1035ae2
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 0x1002678
push 0x1004b18
mov esi, 0x4000000
push esi
call fcn.0104a7da
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 0x1035c5f
cmp edi, 0xffffffff
je 0x1035c5f
push 0x1002678
push 0x1004b00
push esi
call fcn.0104a7da
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 0x1035bdc
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
cmp eax, 0x57
jne 0x1035c27
push 0x1002678
push 0x1004ad8
push esi
call fcn.0104a7da
jmp 0x1035c57
call edi
cmp eax, ebx
jle 0x1035c37
and eax, 0xffff
or eax, 0x80070000
cmp eax, ebx
mov dword [ebp - 0x28], eax
jl 0x1035c45
mov dword [ebp - 0x28], 0x80004005
push 0x1004a98
push 0x1004a78
call edi
push eax
call fcn.0104a5f6
add esp, 0xc
cmp dword [ebp - 0x30], ebx
jmp 0x1035c9e
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, ebx
jle 0x1035c75
and eax, 0xffff
or eax, 0x80070000
cmp eax, ebx
mov dword [ebp - 0x28], eax
jl 0x1035c83
mov dword [ebp - 0x28], 0x80004005
lea eax, [ebp - 0x24]
push eax
push 0x100477c
push 0x1004a5c
call esi
push eax
call fcn.0104a5f6
add esp, 0x10
cmp edi, ebx
je 0x1035ca8
lea ecx, [ebp - 0x30]
call fcn.010303b2
push dword [ebp - 0x2c]
jmp 0x1035ae2
cmp dword [ebp - 0x28], ebx
jge 0x1035d02
push dword [ebp - 0x28]
push 0x1002678
push 0x1004a14
push 0x2000000
call fcn.0104a7da
add esp, 0x10
mov eax, dword [ebp - 0x28]
call fcn.0104f401
ret