Function at 0x1004249
Capabilities:
Get common file path

Disassembly:
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
jmp 0x100436d
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x10013f8
push eax
call esi
jmp 0x10043a0
cmp dword [ebp - 8], edi
je 0x1001d7a
jmp 0x1004433
push 0x1001420
push dword [0x102e024]
call esi
jmp 0x10043d3
lea eax, [ebp - 0x10]
push eax
push 1
call dword [sym.imp.ole32.dll_CoGetMalloc]
mov esi, eax
test esi, esi
jl 0x1004406
lea eax, [ebp - 0xc]
push eax
push fcn.010070cd
push fcn.010011d0
push fcn.010011df
push 0x100694c
push 0x1006922
push dword [ebp - 0x10]
call dword [0x102e230]
mov esi, eax
test esi, esi
jl 0x100440d
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
and dword [ebp - 0xc], 0
mov dword [ecx], eax
mov byte [ebp - 1], 0
jmp 0x1004422
mov eax, dword [ebp - 0xc]
xor edi, edi
cmp eax, edi
jne 0x1004428
mov eax, dword [ebp - 0x10]
cmp eax, edi
je 0x10013ea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10013ea
cmp byte [ebp - 1], 0
jne 0x1004440
pop edi
mov eax, esi
pop esi
leave
ret 4
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push esi
push edi
xor edi, edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
mov byte [ebp - 1], 1
cmp dword [0x102e024], edi
je 0x100428d
push 0x10045bc
push 1
mov esi, 0x800704df
push esi
push 0x4000000
mov byte [ebp - 1], 0
call fcn.01007e2b
add esp, 0x10
jmp 0x1001d57
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push edi
push edi
call ebx
cmp eax, edi
jne 0x10042b8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, edi
jle 0x10042f9
and esi, 0xffff
or esi, 0x80070000
cmp esi, edi
jmp 0x10042f9
lea edi, [eax + 0xf]
push edi
lea eax, [ebp - 8]
push eax
call fcn.01004cfb
mov esi, eax
test esi, esi
jge 0x10042d5
push 0x1004588
jmp 0x1004412
push edi
push dword [ebp - 8]
call ebx
test eax, eax
jne 0x100430a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x10042f9
and esi, 0xffff
or esi, 0x80070000
test esi, esi
jl 0x1004300
mov esi, 0x80004005
push 0x1004568
jmp 0x1004412
lea eax, [ebp - 8]
push eax
call fcn.01009c4c
mov esi, eax
test esi, esi
jge 0x1004336
push dword [ebp - 8]
push 0x1004534
push 1
push esi
push 0x4000000
call fcn.01007e2b
add esp, 0x14
jmp 0x1004422
mov edi, str.SxsStore.dll
push edi
lea eax, [ebp - 8]
push eax
call fcn.01001e3a
push dword [ebp - 8]
mov esi, eax
test esi, esi
jge 0x10013cc
push edi
push 0x1004508
push 1
push esi
push 0x4000000
call fcn.01007e2b
add esp, 0x18
jmp 0x1004422
mov dword [0x102e024], eax
test eax, eax
jne 0x10013d7
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x100438e
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test eax, eax
jl 0x1004399
mov esi, 0x80004005
push 0x10044ec
jmp 0x1004412
mov dword [0x102e230], eax
test eax, eax
jne 0x100140b
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10043c1
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test eax, eax
jl 0x10043cc
mov esi, 0x80004005
push 0x10044bc
jmp 0x1004412
mov dword [0x102e028], eax
test eax, eax
jne 0x1001cfc
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10043f4
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test eax, eax
jl 0x10043ff
mov esi, 0x80004005
push 0x1004490
jmp 0x1004412
push 0x1005844
jmp 0x1004412
push 0x100446c
push 1
push esi
push 0x4000000
call fcn.01007e2b
add esp, 0x10
pop ebx
jmp 0x1001d57
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1001d64
push dword [ebp - 8]
call fcn.01001c35
jmp 0x1001d7a
mov eax, dword [0x102e024]
cmp eax, edi
je 0x1001d84
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x102e024], edi
mov dword [0x102e230], edi
mov dword [0x102e028], edi
jmp 0x1001d84