Function at 0x1015045
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x1035030]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
mov esi, 0x206
push esi
mov word [ebp - 0x20c], ax
xor edi, edi
lea eax, [ebp - 0x20a]
push edi
push eax
call sub.msvcrt.dll_memset
xor eax, eax
push esi
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0x18
push edi
push edi
lea eax, [ebp - 0x20c]
push eax
push 0x10028e0
xor ebx, ebx
call fcn.01014d1d
cmp eax, edi
mov esi, 0x1000ffff
jl 0x10150f1
push 0x1003320
lea eax, [ebp - 0x20c]
push eax
call fcn.010147c7
mov ebx, eax
cmp ebx, edi
je 0x1015125
mov eax, dword [0x1035014]
cmp eax, 0x1035014
je 0x101532e
test byte [eax + 0x1c], 1
je 0x101532e
push ebx
push 0x10035d0
push 0x68
jmp 0x1015323
mov ecx, eax
and ecx, esi
cmp ecx, 3
je 0x1015125
mov ebx, ecx
mov ecx, dword [0x1035014]
cmp ecx, 0x1035014
je 0x101532e
test byte [ecx + 0x1c], 1
je 0x101532e
push eax
push 0x10035d0
push 0x69
jmp 0x1015232
push edi
push edi
lea eax, [ebp - 0x20c]
push eax
push 0x10022ac
call fcn.01014d1d
cmp eax, edi
jl 0x101517a
push 0x10022a0
lea eax, [ebp - 0x20c]
push eax
call fcn.010147c7
mov ebx, eax
cmp ebx, edi
je 0x10151ae
mov eax, dword [0x1035014]
cmp eax, 0x1035014
je 0x101532e
test byte [eax + 0x1c], 1
je 0x101532e
push ebx
push 0x10035d0
push 0x6a
jmp 0x1015323
mov ecx, eax
and ecx, esi
cmp ecx, 3
je 0x10151ae
mov ebx, ecx
mov ecx, dword [0x1035014]
cmp ecx, 0x1035014
je 0x101532e
test byte [ecx + 0x1c], 1
je 0x101532e
push eax
push 0x10035d0
push 0x6b
jmp 0x1015232
push edi
push edi
lea eax, [ebp - 0x20c]
push eax
push 0x10028a0
call fcn.01014d1d
cmp eax, edi
jl 0x1015203
push 0x1003a14
lea eax, [ebp - 0x20c]
push eax
call fcn.010147c7
mov ebx, eax
cmp ebx, edi
je 0x1015242
mov eax, dword [0x1035014]
cmp eax, 0x1035014
je 0x101532e
test byte [eax + 0x1c], 1
je 0x101532e
push ebx
push 0x10035d0
push 0x6c
jmp 0x1015323
mov ecx, eax
and ecx, esi
cmp ecx, 3
je 0x1015242
mov ebx, ecx
mov ecx, dword [0x1035014]
cmp ecx, 0x1035014
je 0x101532e
test byte [ecx + 0x1c], 1
je 0x101532e
push eax
push 0x10035d0
push 0x6d
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01004eb4
jmp 0x101532e
mov edi, 0x104
push edi
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x10152f8
cmp eax, edi
ja 0x10152f8
push 0x1002518
lea eax, [ebp - 0x414]
push eax
push 0x10025e8
lea eax, [ebp - 0x20c]
push edi
push eax
call fcn.01006a35
add esp, 0x14
mov edi, 0x1035014
test eax, eax
jge 0x10152b6
mov ebx, eax
and ebx, esi
mov ecx, dword [0x1035014]
cmp ecx, edi
je 0x10152b6
test byte [ecx + 0x1c], 1
je 0x10152b6
push eax
push 0x10035d0
push 0x6f
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01004eb4
push 0
lea eax, [ebp - 0x20c]
push eax
call fcn.0101fddd
test eax, eax
jl 0x101532e
push 0x1002464
lea eax, [ebp - 0x20c]
push eax
call fcn.010147c7
mov ebx, eax
test ebx, ebx
je 0x101532e
mov eax, dword [0x1035014]
cmp eax, edi
je 0x101532e
test byte [eax + 0x1c], 1
je 0x101532e
push ebx
push 0x10035d0
push 0x70
jmp 0x1015323
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jne 0x1015309
mov ebx, 0x54f
mov eax, dword [0x1035014]
cmp eax, 0x1035014
je 0x101532e
test byte [eax + 0x1c], 1
je 0x101532e
push ebx
push 0x10035d0
push 0x6e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004eb4
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.01011f27
leave
ret