Function at 0x10357a5
Capabilities:
Get common file path

Disassembly:
push 0x48
mov eax, 0x105f008
call fcn.0104f396
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov esi, 0x1004a04
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edx, edx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x34], edx
movsw word es:[edi], word [esi]
cmp ebx, edx
jne 0x10357f9
push 0x10049d0
push 0x10049c0
mov eax, 0x80070057
push eax
mov dword [ebp - 0x28], eax
call fcn.0104a504
add esp, 0xc
mov eax, dword [ebp - 0x28]
call fcn.0104f401
ret 8
cmp ecx, edx
jne 0x1035809
push 0x1004984
push 0x1004974
jmp 0x10357dd
xor eax, eax
mov edi, ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov edi, ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x54]
rep stosd dword es:[edi], eax
mov dword [ebp - 4], edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], edx
mov byte [ebp - 4], 2
cmp dword [0x1068828], edx
jne 0x1035859
push 0x1002678
push 0x1004944
push 0x4000000
call fcn.0104a7da
add esp, 0xc
push 0
mov byte [ebp - 4], 0
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
jmp 0x10357ee
mov esi, dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
push edx
push edx
call esi
test eax, eax
jne 0x103589f
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jle 0x103587d
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x28], eax
test eax, eax
jl 0x103588b
mov dword [ebp - 0x28], 0x80004005
push 0x10048f0
push 0x10048e0
call esi
push eax
call fcn.0104a5f6
jmp 0x1035848
lea edi, [eax + 1]
push edi
lea ecx, [ebp - 0x2c]
call fcn.01033f0f
movzx eax, al
test eax, eax
jne 0x10358d5
push 0x10048b8
mov eax, 0x8007000e
push 0x10048a8
push eax
mov dword [ebp - 0x28], eax
call fcn.0104a504
add esp, 0xc
push dword [ebp - 0x2c]
jmp 0x103584d
push edi
mov edi, dword [ebp - 0x2c]
push edi
call esi
test eax, eax
jne 0x103591f
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jle 0x10358f6
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x28], eax
test eax, eax
jl 0x1035904
mov dword [ebp - 0x28], 0x80004005
push 0x1004868
push 0x1004854
call esi
push eax
call fcn.0104a5f6
add esp, 0xc
push edi
jmp 0x103584d
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 0x1004830
push 0x4000000
call fcn.0104a7da
add esp, 0x14
push 0xffffffffffffffff
push 0x80
push 3
push 0
push 3
push 0xc0000000
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
xor esi, esi
mov dword [ebp - 0x30], edi
cmp edi, esi
je 0x10359e7
cmp edi, 0xffffffff
je 0x10359e7
push esi
lea eax, [ebp - 0x34]
push eax
push 0x18
lea eax, [ebp - 0x54]
push eax
push esi
push esi
push 0x53002c
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, esi
jne 0x10359cc
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jle 0x10359a7
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x28], eax
test eax, eax
jl 0x10359b5
mov dword [ebp - 0x28], 0x80004005
push 0x10047c8
push 0x10047b8
call esi
push eax
call fcn.0104a5f6
add esp, 0xc
jmp 0x1035a2c
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x48]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebx], eax
mov eax, dword [ebp - 0x40]
mov dword [ebx + 4], eax
jmp 0x1035a2c
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jle 0x10359fd
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x28], eax
test eax, eax
jl 0x1035a0b
mov dword [ebp - 0x28], 0x80004005
lea eax, [ebp - 0x24]
push eax
push 0x100477c
push 0x100476c
call esi
push eax
call fcn.0104a5f6
add esp, 0x10
test edi, edi
je 0x10358cd
lea ecx, [ebp - 0x30]
call fcn.010303b2
jmp 0x10358cd