Function at 0x48bbe0
Capabilities:
Check if file exists
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x684e40
mov eax, dword fs:[0]
push eax
sub esp, 0x104
mov eax, dword [0x79cac4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x108], 0
mov ecx, dword [esi + 0x2c]
mov dword [ebp - 0x104], esi
mov byte [ebp - 0xf6], 0
test ecx, ecx
je 0x48bc38
mov eax, dword [ecx]
push 0xffffffffffffffff
call dword [eax + 4]
mov dword [ebp - 4], 0
push dword [esi + 0x24]
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call edi
push dword [esi + 0x24]
mov bl, byte [esi + 0x88]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
je 0x48bc67
mov eax, 1
jmp 0x48c41f
mov ecx, esi
call fcn.0048a960
test al, al
je 0x48bda1
mov ecx, esi
call fcn.0048b400
test al, al
je 0x48bda1
mov bl, 1
mov ecx, 0x6ecd
mov byte [ebp - 0xf6], bl
call fcn.00497430
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x7aaa64]
cmp eax, dword [ecx + 4]
jle 0x48bd0d
push 0x7aaa64
call fcn.00611b74
add esp, 4
cmp dword [0x7aaa64], 0xffffffff
jne 0x48bd0d
push 0x76aa6c
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], bl
call fcn.00464940
push str.Yandex.Disk.2
mov edx, eax
mov byte [ebp - 4], 2
mov ecx, 0x7aaa68
call fcn.00469800
add esp, 4
lea ecx, [ebp - 0x2c]
call fcn.00453390
push 0x68de70
call fcn.0061199c
push 0x7aaa64
mov byte [ebp - 4], 0
call fcn.00611b2a
add esp, 8
cmp dword [0x7aaa7c], 8
mov edx, 0x7aaa68
push 2
cmovae edx, dword [0x7aaa68]
push str.Setup_CreateScreenshotEditorLink
call fcn.0046d720
mov edx, 1
add esp, 8
push 0
lea ecx, [edx + 5]
call fcn.0046cce0
add esp, 4
test al, al
je 0x48bd67
cmp dword [0x7aaa7c], 8
mov edx, 0x7aaa68
push 2
cmovae edx, dword [0x7aaa68]
push str.Setup_CreateNotesLink
call fcn.0046d720
add esp, 8
mov edx, 1
push 0
lea ecx, [edx + 5]
call fcn.0046cce0
add esp, 4
test al, al
je 0x48bda9
cmp dword [0x7aaa7c], 8
mov edx, 0x7aaa68
push 2
cmovae edx, dword [0x7aaa68]
push str.Setup_CreateTelemostLink
call fcn.0046d720
add esp, 8
jmp 0x48bda9
xor bl, bl
mov byte [ebp - 0xf6], bl
xor bh, bh
test bl, bl
je 0x48c3db
cmp dword [esi + 0x2c], 0
je 0x48c139
push dword [esi + 0x24]
call edi
push dword [esi + 0x24]
mov bl, byte [esi + 0x88]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
jne 0x48c139
mov ecx, dword [esi + 0x2c]
push 4
mov eax, dword [ecx]
call dword [eax]
mov ecx, esi
call fcn.0048b950
test al, al
je 0x48c139
lea eax, [ebp - 0x44]
mov ecx, esi
push eax
call fcn.00489ba0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x34], 0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
je 0x48be25
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push eax
call ebx
mov byte [ebp - 0xfc], 1
test eax, eax
jne 0x48be2c
mov byte [ebp - 0xfc], 0
lea ecx, [ebp - 0x5c]
call fcn.004851c0
mov byte [ebp - 4], 4
cmp dword [ebp - 0x4c], 0
je 0x48be57
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
push eax
call ebx
mov byte [ebp - 0x100], 1
test eax, eax
jne 0x48be5e
mov byte [ebp - 0x100], 0
mov ecx, dword [esi + 0x2c]
push dword [ebp - 0x100]
push dword [ebp - 0xfc]
mov eax, dword [ecx]
call dword [eax + 0xc]
push 0xffffffffffffffff
push dword [esi + 0x98]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esi + 0x24]
call edi
push dword [esi + 0x24]
mov ebx, dword [esi + 0x12c]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0xfc], 0
je 0x48beb4
test bl, 8
jne 0x48beb4
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call fcn.00489520
test al, al
je 0x48bed6
mov ecx, dword [0x7aa7c8]
test ecx, ecx
je 0x48bed6
mov eax, dword [ecx]
push ebx
push str.User_selection_of_partner_product:__d
push ecx
call dword [eax + 4]
add esp, 0xc
mov edi, ebx
and edi, 0x20
je 0x48befc
mov edx, 1
push 0
lea ecx, [edx + 5]
call fcn.0046cce0
add esp, 4
test al, al
je 0x48befc
mov byte [ebp - 0xf5], 1
jmp 0x48bf1e
xor al, al
mov byte [ebp - 0xf5], al
cmp byte [ebp - 0x100], al
je 0x48bf1e
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test ebx, ebx
je 0x48c115
mov ecx, esi
call fcn.00489c80
test al, al
jne 0x48c11f
test bl, 4
je 0x48bf44
mov ecx, 0x6e67
call fcn.00497430
test bl, 1
je 0x48bf53
mov ecx, 0x6e68
call fcn.00497430
test bl, 2
je 0x48bf62
mov ecx, 0x6e69
call fcn.00497430
mov eax, ebx
and eax, 8
mov dword [ebp - 0xfc], eax
je 0x48bf79
mov ecx, 0x6f77
call fcn.00497430
test bl, 0x10
je 0x48bf88
mov ecx, 0x6fe8
call fcn.00497430
test edi, edi
je 0x48bf96
mov ecx, 0x70d3
call fcn.00497430
mov bh, byte [ebp - 0xf5]
test bh, bh
je 0x48c0b9
cmp byte [ebp - 0x100], 0
je 0x48c093
lea ecx, [ebp - 0xd4]
call fcn.0048ba20
mov byte [ebp - 4], 5
call fcn.00485670
cmp dword [esi + 0xcc], 0
jne 0x48bfec
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004518d0
cmp dword [ebp - 0x1c], 0
mov eax, 3
je 0x48bff2
xor bl, bl
jmp 0x48bff4
mov eax, dword [ebp - 0x108]
mov bl, 1
test al, 1
je 0x48c02c
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x48c02c
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48c022
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48c4ab
push edx
push ecx
call fcn.00611704
add esp, 8
test bl, bl
je 0x48c06a
push 0x7697d0
lea ecx, [ebp - 0x2c]
call fcn.00464940
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 6
lea ecx, [esi + 0xbc]
call fcn.0048cb50
lea ecx, [ebp - 0x2c]
call fcn.00453390
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 4
xor bh, bh
call fcn.0048ba80
jmp 0x48c0b9
mov ecx, dword [0x7aa7c8]
test ecx, ecx
je 0x48c082
mov eax, dword [ecx]
push str.Telemost_will_be_installed_on_disk_start...
push ecx
call dword [eax + 4]
add esp, 8
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 4
call fcn.0048ba80
jmp 0x48c0b9
mov edx, dword [0x7aa7c8]
test edx, edx
je 0x48c0b7
cmp dword [ebp - 0x48], 8
lea ecx, [ebp - 0x5c]
mov eax, dword [edx]
cmovae ecx, dword [ebp - 0x5c]
push ecx
push str.ERROR_Telemost_setup_file__s_wasnt_found
push edx
call dword [eax + 4]
add esp, 0xc
xor bh, bh
cmp dword [ebp - 0xfc], 0
je 0x48c125
cmp dword [ebp - 0x34], 0
je 0x48c125
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x48c125
push str.__silent___do_not_launch_browser
lea ecx, [ebp - 0x2c]
call fcn.00464940
mov byte [ebp - 4], 7
cmp dword [ebp - 0x34], 0
je 0x48c10b
cmp dword [ebp - 0x1c], 0
je 0x48c10b
push 0
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x44]
call fcn.0048c4c0
add esp, 4
lea ecx, [ebp - 0x2c]
call fcn.00453390
jmp 0x48c125
mov ecx, 0x6ec7
call fcn.00497430
mov bh, byte [ebp - 0xf5]
lea ecx, [ebp - 0x5c]
call fcn.00453390
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0
call fcn.00453390
mov edx, dword [esi + 0x9c]
lea ecx, [ebp - 0x10c]
call fcn.004762f0
mov byte [ebp - 4], 8
cmp byte [esi + 0x28], 0
je 0x48c161
cmp byte [esi + 0xb8], 0
je 0x48c289
cmp byte [esi + 0x10c], 0
jne 0x48c289
sub esp, 8
lea ecx, [ebp - 0xf4]
call fcn.00470ee0
mov edx, str._startdisk
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xf4]
call fcn.0046dbb0
mov edx, 0x773320
lea ecx, [ebp - 0xf4]
lea edi, [esi + 0xbc]
call fcn.0046dbb0
mov edx, str._settoken
mov ecx, eax
call fcn.0046dbb0
mov edx, 0x773304
mov ecx, eax
call fcn.0046dbb0
cmp dword [edi + 0x14], 8
mov ecx, eax
mov eax, dword [edi + 0x10]
jb 0x48c1cb
mov edi, dword [edi]
push eax
mov edx, edi
call fcn.00473400
add esp, 4
mov edx, 0x76903c
mov ecx, eax
call fcn.0046dbb0
cmp byte [esi + 0x104], 0
je 0x48c1fb
mov edx, 0x773324
lea ecx, [ebp - 0xf4]
call fcn.0046dbb0
mov eax, dword [esi + 0x108]
cmp eax, 1
jne 0x48c20d
mov edx, str.__hidewizard
jmp 0x48c217
cmp eax, 2
jne 0x48c222
mov edx, str.__hidewizardcomplete
lea ecx, [ebp - 0xf4]
call fcn.0046dbb0
mov edx, str.__nosendtelemetry
lea ecx, [ebp - 0xf4]
call fcn.0046dbb0
test bh, bh
je 0x48c246
mov edx, str.__installtelemost
lea ecx, [ebp - 0xf4]
call fcn.0046dbb0
cmp byte [esi + 0x128], 0
je 0x48c26b
mov edx, 0x773320
lea ecx, [ebp - 0xf4]
call fcn.0046dbb0
mov edx, str._setautoproxy
mov ecx, eax
call fcn.0046dbb0
mov edi, dword [ebp - 0x10c]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xf0]
call fcn.0046fb40
mov byte [ebp - 4], 0xa
jmp 0x48c37b
sub esp, 8
lea ecx, [ebp - 0xf4]
call fcn.00470ee0
mov edx, str._retranslate
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xf4]
call fcn.0046dbb0
mov edx, 0x773320
lea ecx, [ebp - 0xf4]
lea edi, [esi + 0xbc]
call fcn.0046dbb0
mov edx, str._settoken
mov ecx, eax
call fcn.0046dbb0
mov edx, 0x76903c
mov ecx, eax
call fcn.0046dbb0
cmp dword [edi + 0x14], 8
mov ecx, eax
mov eax, dword [edi + 0x10]
jb 0x48c2e6
mov edi, dword [edi]
push eax
mov edx, edi
call fcn.00473400
add esp, 4
mov edx, 0x76903c
mov ecx, eax
call fcn.0046dbb0
cmp byte [esi + 0x104], 0
je 0x48c316
mov edx, 0x773324
lea ecx, [ebp - 0xf4]
call fcn.0046dbb0
mov eax, dword [esi + 0x108]
cmp eax, 1
jne 0x48c328
mov edx, str.__hidewizard
jmp 0x48c332
cmp eax, 2
jne 0x48c33d
mov edx, str.__hidewizardcomplete
lea ecx, [ebp - 0xf4]
call fcn.0046dbb0
cmp byte [esi + 0x128], 0
je 0x48c362
mov edx, 0x773320
lea ecx, [ebp - 0xf4]
call fcn.0046dbb0
mov edx, str._setautoproxy
mov ecx, eax
call fcn.0046dbb0
mov edi, dword [ebp - 0x10c]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xf0]
call fcn.0046fb40
mov byte [ebp - 4], 0xc
mov eax, dword [edi]
lea ecx, [ebp - 0x2c]
push 3
push ecx
mov ecx, edi
call dword [eax + 0x14]
lea ecx, [ebp - 0x2c]
call fcn.00453390
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 8
call fcn.0046fc00
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x48c3ac
mov eax, dword [ecx]
push 5
call dword [eax]
mov byte [ebp - 4], 0xd
mov edi, dword [ebp - 0x108]
test edi, edi
je 0x48c3db
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x48c3db
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], ebx
dec ebx
jne 0x48c3db
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp dword [esi + 0x44], 8
lea edi, [esi + 0x30]
mov eax, edi
jb 0x48c3e8
mov eax, dword [edi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x48c414
cmp dword [edi + 0x14], 8
jb 0x48c3fb
mov edi, dword [edi]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
add esi, 0x48
cmp dword [esi + 0x14], 8
jb 0x48c40d
mov esi, dword [esi]
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor eax, eax
cmp byte [ebp - 0xf6], al
sete al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.006116c3
mov esp, ebp
pop ebp
ret
call fcn.00655e38
int3