Function at 0x10042720
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100962dd
mov eax, dword fs:[0]
push eax
mov eax, 0x158c
call fcn.1006f8b0
mov eax, dword [0x10138e70]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14c8], ecx
xor eax, eax
push 0x1046
push eax
mov word [ebp - 0x1468], ax
lea eax, [ebp - 0x1466]
push eax
call fcn.1006ff30
add esp, 0xc
mov ecx, 0x1013df24
call fcn.10089b90
push eax
lea eax, [ebp - 0x1468]
push str._s_task.json
push eax
call fcn.10040e70
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.1006ff30
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call fcn.1006ff30
add esp, 0x24
lea eax, [ebp - 0x420]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x218]
push eax
push 0
push 0x100a3104
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov ecx, dword [0x1013df34]
mov eax, dword [ecx]
call dword [eax + 0x24]
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x1468]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx]
test eax, eax
je 0x10042f0a
push 1
lea ecx, [ebp - 0x1598]
call fcn.1001b270
push 0x40
push 1
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x1598]
call fcn.10042280
lea ecx, [ebp - 0x14d4]
call fcn.100186c0
lea eax, [ebp - 0x14bd]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x14bc]
call fcn.10021850
lea eax, [ebp - 0x1598]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x14d4]
call fcn.10018be0
push str.appInstall
lea ecx, [ebp - 0x14d4]
call fcn.10018840
mov ecx, eax
call fcn.10018ae0
push eax
lea ecx, [ebp - 0x14bc]
call fcn.10021870
xor ebx, ebx
lea ecx, [ebp - 0x14bc]
mov dword [ebp - 0x14cc], ebx
call fcn.100218a0
test eax, eax
je 0x10042c3f
mov edi, edi
push 0x100a315c
push ebx
lea ecx, [ebp - 0x14bc]
call fcn.10021890
mov ecx, eax
call fcn.10018840
mov ecx, eax
call fcn.10018930
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x1480]
mov dword [ebp - 0x146c], 0xf
mov dword [ebp - 0x1470], 0
mov byte [ebp - 0x1480], 0
call fcn.10006bc0
push 0x100a3310
push ebx
lea ecx, [ebp - 0x14bc]
mov byte [ebp - 4], 3
call fcn.10021890
mov ecx, eax
call fcn.10018840
mov ecx, eax
call fcn.10018930
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x14b0]
mov dword [ebp - 0x149c], 0xf
mov dword [ebp - 0x14a0], 0
mov byte [ebp - 0x14b0], 0
call fcn.10006bc0
push str.start
push ebx
lea ecx, [ebp - 0x14bc]
mov byte [ebp - 4], 4
call fcn.10021890
mov ecx, eax
call fcn.10018840
mov ecx, eax
call fcn.10018930
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x1498]
mov dword [ebp - 0x1484], 0xf
mov dword [ebp - 0x1488], 0
mov byte [ebp - 0x1498], 0
call fcn.10006bc0
push str.compel
push ebx
lea ecx, [ebp - 0x14bc]
mov byte [ebp - 4], 5
call fcn.10021890
mov ecx, eax
call fcn.10018840
mov ecx, eax
call fcn.10018a00
push 0x100a3324
push ebx
lea ecx, [ebp - 0x14bc]
mov dword [ebp - 0x14dc], eax
call fcn.10021890
mov ecx, eax
call fcn.10018840
mov ecx, eax
call fcn.10018a00
push str.type
push ebx
lea ecx, [ebp - 0x14bc]
mov dword [ebp - 0x14e0], eax
call fcn.10021890
mov ecx, eax
call fcn.10018840
mov ecx, eax
call fcn.10018a00
mov dword [ebp - 0x14d8], eax
mov ecx, dword [0x1013df34]
mov eax, dword [ecx]
call dword [eax + 0x30]
cmp dword [ebp - 0x146c], 0x10
lea ecx, [ebp - 0x1480]
mov edx, eax
cmovae ecx, dword [ebp - 0x1480]
push ecx
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 4]
mov ecx, dword [0x1013df34]
mov dword [ebp - 0x14c4], eax
mov eax, dword [ecx]
call dword [eax + 0x30]
cmp dword [ebp - 0x1484], 0x10
lea ecx, [ebp - 0x1498]
mov edx, eax
cmovae ecx, dword [ebp - 0x1498]
push ecx
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 4]
mov ecx, dword [0x1013df34]
mov ebx, eax
mov eax, dword [ecx]
call dword [eax + 0x30]
cmp dword [ebp - 0x149c], 0x10
lea ecx, [ebp - 0x14b0]
mov edx, eax
cmovae ecx, dword [ebp - 0x14b0]
push ecx
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 4]
push 0x1328
mov edi, eax
call fcn.1006daa9
mov esi, eax
add esp, 4
test esi, esi
je 0x10042b73
mov ecx, dword [ebp - 0x14c4]
test ecx, ecx
je 0x10042b6a
test ebx, ebx
je 0x10042b6a
test edi, edi
je 0x10042b6a
xor eax, eax
cmp dword [ebp - 0x14dc], 1
push ecx
sete al
mov dword [esi + 0x1318], eax
mov eax, dword [ebp - 0x14e0]
mov dword [esi + 0x1320], eax
mov eax, dword [ebp - 0x14d8]
push 0x824
push esi
mov dword [esi + 0x131c], eax
call fcn.1006e6e1
push ebx
lea eax, [esi + 0x1048]
push 0x104
push eax
call fcn.1006e6e1
push edi
lea eax, [esi + 0x1250]
push 0x64
push eax
call fcn.1006e6e1
mov ecx, dword [ebp - 0x14c8]
add esp, 0x24
mov dword [esi + 0x1324], 0
mov eax, dword [ecx]
test eax, eax
jne 0x10042b50
mov dword [ecx], esi
jmp 0x10042b73
mov ecx, dword [eax + 0x1324]
test ecx, ecx
je 0x10042b62
mov eax, ecx
test eax, eax
jne 0x10042b50
jmp 0x10042b73
mov dword [eax + 0x1324], esi
jmp 0x10042b73
push esi
call fcn.1006da71
add esp, 4
mov eax, dword [ebp - 0x14c4]
test eax, eax
je 0x10042b86
push eax
call fcn.1006da71
add esp, 4
test ebx, ebx
je 0x10042b93
push ebx
call fcn.1006da71
add esp, 4
test edi, edi
je 0x10042ba0
push edi
call fcn.1006da71
add esp, 4
cmp dword [ebp - 0x1484], 0x10
jb 0x10042bb7
push dword [ebp - 0x1498]
call fcn.100070d0
add esp, 4
cmp dword [ebp - 0x149c], 0x10
mov dword [ebp - 0x1484], 0xf
mov dword [ebp - 0x1488], 0
mov byte [ebp - 0x1498], 0
jb 0x10042be9
push dword [ebp - 0x14b0]
call fcn.100070d0
add esp, 4
cmp dword [ebp - 0x146c], 0x10
mov dword [ebp - 0x149c], 0xf
mov dword [ebp - 0x14a0], 0
mov byte [ebp - 0x14b0], 0
mov byte [ebp - 4], 2
jb 0x10042c1f
push dword [ebp - 0x1480]
call fcn.100070d0
add esp, 4
mov ebx, dword [ebp - 0x14cc]
lea ecx, [ebp - 0x14bc]
inc ebx
mov dword [ebp - 0x14cc], ebx
call fcn.100218a0
cmp ebx, eax
jb 0x100428c0
push str.appUninstall
lea ecx, [ebp - 0x14d4]
call fcn.10018840
mov ecx, eax
call fcn.10018ae0
push eax
lea ecx, [ebp - 0x14bc]
call fcn.10021870
lea ecx, [ebp - 0x14bc]
xor edi, edi
call fcn.100218a0
test eax, eax
je 0x10042d97
jmp 0x10042c80
push str.pkname
push edi
lea ecx, [ebp - 0x14bc]
call fcn.10021890
mov ecx, eax
call fcn.10018840
mov ecx, eax
call fcn.10018930
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x1480]
mov dword [ebp - 0x146c], 0xf
mov dword [ebp - 0x1470], 0
mov byte [ebp - 0x1480], 0
call fcn.10006bc0
push 0x20c
mov byte [ebp - 4], 6
call fcn.1006daa9
mov esi, eax
add esp, 4
test esi, esi
je 0x10042d68
mov ecx, dword [0x1013df34]
mov eax, dword [ecx]
call dword [eax + 0x30]
cmp dword [ebp - 0x146c], 0x10
lea ecx, [ebp - 0x1480]
mov edx, eax
cmovae ecx, dword [ebp - 0x1480]
push ecx
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 4]
mov ebx, eax
test ebx, ebx
je 0x10042d5f
push ebx
push 0x104
push esi
call fcn.1006e6e1
push ebx
call fcn.1006da71
mov ebx, dword [ebp - 0x14c8]
add esp, 0x10
mov dword [esi + 0x208], 0
mov eax, dword [ebx + 4]
test eax, eax
jne 0x10042d45
mov dword [ebx + 4], esi
jmp 0x10042d68
mov ecx, dword [eax + 0x208]
test ecx, ecx
je 0x10042d57
mov eax, ecx
test eax, eax
jne 0x10042d45
jmp 0x10042d68
mov dword [eax + 0x208], esi
jmp 0x10042d68
push esi
call fcn.1006da71
add esp, 4
cmp dword [ebp - 0x146c], 0x10
mov byte [ebp - 4], 2
jb 0x10042d83
push dword [ebp - 0x1480]
call fcn.100070d0
add esp, 4
lea ecx, [ebp - 0x14bc]
inc edi
call fcn.100218a0
cmp edi, eax
jb 0x10042c80
lea ecx, [ebp - 0x1598]
call fcn.1001b420
mov esi, dword [ebp - 0x14bc]
mov byte [ebp - 4], 1
test esi, esi
je 0x10042dfb
mov edi, dword [ebp - 0x14b8]
cmp esi, edi
je 0x10042dd4
lea ebx, [ebx]
mov ecx, esi
call fcn.10018830
add esi, 8
cmp esi, edi
jne 0x10042dc0
mov esi, dword [ebp - 0x14bc]
push esi
call fcn.100070d0
add esp, 4
mov dword [ebp - 0x14bc], 0
mov dword [ebp - 0x14b8], 0
mov dword [ebp - 0x14b4], 0
lea ecx, [ebp - 0x14d4]
mov byte [ebp - 4], 0
call fcn.10018830
mov eax, dword [ebp - 0x1598]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1598]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x159c], eax
cmp dword [ebp - 0x1538], 0
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
je 0x10042e7b
mov eax, dword [ebp - 0x157c]
lea ecx, [ebp - 0x1544]
cmp dword [eax], ecx
jne 0x10042e7b
mov edx, dword [ebp - 0x154c]
mov ecx, dword [ebp - 0x1550]
sub edx, ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x156c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x155c]
mov dword [eax], edx
cmp byte [ebp - 0x153c], 0
je 0x10042e8f
lea ecx, [ebp - 0x1588]
call fcn.1001c850
mov esi, dword [ebp - 0x1554]
mov dword [ebp - method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
test esi, esi
je 0x10042ec3
mov ecx, dword [esi]
test ecx, ecx
je 0x10042eba
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, eax
test ecx, ecx
je 0x10042eba
mov eax, dword [ecx]
push 1
call dword [eax]
push esi
call fcn.100070d0
add esp, 4
mov eax, dword [ebp - 0x1598]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1598]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x159c], eax
lea ecx, [ebp - 0x1528]
push ecx
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.1008f5e9
add esp, 4
mov eax, 1
jmp 0x10042f0c
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1006f41a
mov esp, ebp
pop ebp
ret