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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d7960
mov eax, dword fs:[0]
push eax
sub esp, 0x104
mov eax, dword [0x56b06c]
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 + 0x30]
mov dword [ebp - 0x104], esi
mov byte [ebp - 0xf6], 0
test ecx, ecx
je 0x446028
mov eax, dword [ecx]
push 0xffffffffffffffff
call dword [eax + 4]
mov dword [ebp - 4], 0
push dword [esi + 0x28]
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call edi
push dword [esi + 0x28]
mov bl, byte [esi + 0x90]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
je 0x446057
mov eax, 1
jmp 0x44698f
mov ecx, esi
call fcn.00444960
test al, al
je 0x4461ce
mov ecx, esi
call fcn.00445570
test al, al
je 0x4461ce
mov bl, 1
mov ecx, 0x6ecd
mov byte [ebp - 0xf6], bl
call fcn.0044cdb0
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x573bf4]
cmp eax, dword [ecx + 4]
jle 0x44613a
push 0x573bf4
call fcn.00483a3c
add esp, 4
cmp dword [0x573bf4], 0xffffffff
jne 0x44613a
push 0x540dc0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], bl
call fcn.0041df20
push str.Yandex.Disk.2
mov edx, eax
mov byte [ebp - 4], 2
mov ecx, 0x573bf8
call fcn.00420bc0
mov byte [ebp - 4], bl
add esp, 4
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x44611f
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x446115
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446a1b
push edx
push ecx
call fcn.004835cc
add esp, 8
push 0x4de920
call fcn.00483864
push 0x573bf4
mov byte [ebp - 4], 0
call fcn.004839f2
add esp, 8
cmp dword [0x573c0c], 8
mov edx, 0x573bf8
push 2
cmovae edx, dword [0x573bf8]
push str.Setup_CreateScreenshotEditorLink
call fcn.00423e00
mov edx, 1
add esp, 8
push 0
lea ecx, [edx + 5]
call fcn.004232c0
add esp, 4
test al, al
je 0x446194
cmp dword [0x573c0c], 8
mov edx, 0x573bf8
push 2
cmovae edx, dword [0x573bf8]
push str.Setup_CreateNotesLink
call fcn.00423e00
add esp, 8
mov edx, 1
push 0
lea ecx, [edx + 5]
call fcn.004232c0
add esp, 4
test al, al
je 0x4461d6
cmp dword [0x573c0c], 8
mov edx, 0x573bf8
push 2
cmovae edx, dword [0x573bf8]
push str.Setup_CreateTelemostLink
call fcn.00423e00
add esp, 8
jmp 0x4461d6
xor bl, bl
mov byte [ebp - 0xf6], bl
xor bh, bh
test bl, bl
je 0x44694b
cmp dword [esi + 0x30], 0
je 0x446655
push dword [esi + 0x28]
call edi
push dword [esi + 0x28]
mov bl, byte [esi + 0x90]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
jne 0x446655
mov ecx, dword [esi + 0x30]
push 4
mov eax, dword [ecx]
call dword [eax]
mov ecx, esi
call fcn.00445d40
test al, al
je 0x446655
lea eax, [ebp - 0x5c]
mov ecx, esi
push eax
call fcn.00444240
mov byte [ebp - 4], 3
cmp dword [ebp - 0x4c], 0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
je 0x446252
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
push eax
call ebx
mov byte [ebp - 0xfc], 1
test eax, eax
jne 0x446259
mov byte [ebp - 0xfc], 0
lea ecx, [ebp - 0x44]
call fcn.0043ef60
mov byte [ebp - 4], 4
cmp dword [ebp - 0x34], 0
je 0x446284
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push eax
call ebx
mov byte [ebp - 0x100], 1
test eax, eax
jne 0x44628b
mov byte [ebp - 0x100], 0
mov ecx, dword [esi + 0x30]
push dword [ebp - 0x100]
push dword [ebp - 0xfc]
mov eax, dword [ecx]
call dword [eax + 0xc]
push 0xffffffffffffffff
push dword [esi + 0xa0]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esi + 0x28]
call edi
push dword [esi + 0x28]
mov ebx, dword [esi + 0x134]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0xfc], 0
je 0x4462e1
test bl, 8
jne 0x4462e1
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call fcn.004438b0
test al, al
je 0x446303
mov ecx, dword [0x57396c]
test ecx, ecx
je 0x446303
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 0x446329
mov edx, 1
push 0
lea ecx, [edx + 5]
call fcn.004232c0
add esp, 4
test al, al
je 0x446329
mov byte [ebp - 0xf5], 1
jmp 0x44634b
xor al, al
mov byte [ebp - 0xf5], al
cmp byte [ebp - 0x100], al
je 0x44634b
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test ebx, ebx
je 0x4465b6
mov ecx, esi
call fcn.004443c0
test al, al
jne 0x4465c0
test bl, 4
je 0x446371
mov ecx, 0x6e67
call fcn.0044cdb0
test bl, 1
je 0x446380
mov ecx, 0x6e68
call fcn.0044cdb0
test bl, 2
je 0x44638f
mov ecx, 0x6e69
call fcn.0044cdb0
mov eax, ebx
and eax, 8
mov dword [ebp - 0xfc], eax
je 0x4463a6
mov ecx, 0x6f77
call fcn.0044cdb0
test bl, 0x10
je 0x4463b5
mov ecx, 0x6fe8
call fcn.0044cdb0
test edi, edi
je 0x4463c3
mov ecx, 0x70d3
call fcn.0044cdb0
mov bh, byte [ebp - 0xf5]
test bh, bh
je 0x44651c
cmp byte [ebp - 0x100], 0
je 0x4464f6
lea ecx, [ebp - 0xd4]
call fcn.00445e10
mov byte [ebp - 4], 5
call fcn.0043f480
cmp dword [esi + 0xd4], 0
jne 0x446419
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040ac40
cmp dword [ebp - 0x1c], 0
mov eax, 3
je 0x44641f
xor bl, bl
jmp 0x446421
mov eax, dword [ebp - 0x108]
mov bl, 1
test al, 1
je 0x446459
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x446459
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44644f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446a20
push edx
push ecx
call fcn.004835cc
add esp, 8
test bl, bl
je 0x4464cd
push 0x53fb28
lea ecx, [ebp - 0x2c]
call fcn.0041df20
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 6
lea ecx, [esi + 0xc4]
call fcn.00447510
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x4464ba
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4464b0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446a25
push edx
push ecx
call fcn.004835cc
add esp, 8
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 4
xor bh, bh
call fcn.00445e70
jmp 0x44651c
mov ecx, dword [0x57396c]
test ecx, ecx
je 0x4464e5
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.00445e70
jmp 0x44651c
mov edx, dword [0x57396c]
test edx, edx
je 0x44651a
cmp dword [ebp - 0x30], 8
lea ecx, [ebp - 0x44]
mov eax, dword [edx]
cmovae ecx, dword [ebp - 0x44]
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 0x4465c6
cmp dword [ebp - 0x4c], 0
je 0x4465c6
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4465c6
push str.__silent___do_not_launch_browser
lea ecx, [ebp - 0x2c]
call fcn.0041df20
mov byte [ebp - 4], 7
cmp dword [ebp - 0x4c], 0
je 0x446576
cmp dword [ebp - 0x1c], 0
je 0x446576
push 0
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x5c]
call fcn.00446a40
add esp, 4
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x4465c6
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4465aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446a2a
push edx
push ecx
call fcn.004835cc
add esp, 8
jmp 0x4465c6
mov ecx, 0x6ec7
call fcn.0044cdb0
mov bh, byte [ebp - 0xf5]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x446604
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4465fa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446a2f
push edx
push ecx
call fcn.004835cc
add esp, 8
xor eax, eax
mov dword [ebp - 0x34], 0
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
cmp edx, 8
jb 0x446655
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44664b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446a34
push edx
push ecx
call fcn.004835cc
add esp, 8
mov edx, dword [esi + 0xa4]
lea ecx, [ebp - 0x10c]
call fcn.00430a20
mov byte [ebp - 4], 8
cmp byte [esi + 0x2c], 0
je 0x44667d
cmp byte [esi + 0xc0], 0
je 0x4467ee
cmp byte [esi + 0x114], 0
jne 0x4467ee
sub esp, 8
lea ecx, [ebp - 0xf4]
call fcn.004278a0
mov edx, str._startdisk
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xf4]
call fcn.004241d0
mov edx, 0x54a958
lea ecx, [ebp - 0xf4]
lea edi, [esi + 0xc4]
call fcn.004241d0
mov edx, str._settoken
mov ecx, eax
call fcn.004241d0
mov edx, 0x54a93c
mov ecx, eax
call fcn.004241d0
cmp dword [edi + 0x14], 8
mov ecx, eax
mov eax, dword [edi + 0x10]
jb 0x4466e7
mov edi, dword [edi]
push eax
mov edx, edi
call fcn.0042a220
add esp, 4
mov edx, 0x542d04
mov ecx, eax
call fcn.004241d0
cmp byte [esi + 0x10c], 0
je 0x446717
mov edx, 0x54a95c
lea ecx, [ebp - 0xf4]
call fcn.004241d0
mov eax, dword [esi + 0x110]
cmp eax, 1
jne 0x446729
mov edx, str.__hidewizard
jmp 0x446733
cmp eax, 2
jne 0x44673e
mov edx, str.__hidewizardcomplete
lea ecx, [ebp - 0xf4]
call fcn.004241d0
mov edx, str.__nosendtelemetry
lea ecx, [ebp - 0xf4]
call fcn.004241d0
test bh, bh
je 0x446762
mov edx, str.__installtelemost
lea ecx, [ebp - 0xf4]
call fcn.004241d0
cmp byte [esi + 0x130], 0
je 0x446787
mov edx, 0x54a958
lea ecx, [ebp - 0xf4]
call fcn.004241d0
mov edx, str._setautoproxy
mov ecx, eax
call fcn.004241d0
mov edi, dword [ebp - 0x10c]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xf0]
call fcn.004265c0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
mov eax, dword [edi]
push 3
push ecx
mov ecx, edi
call dword [eax + 0x14]
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x446900
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4468f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446a39
jmp 0x4468f6
sub esp, 8
lea ecx, [ebp - 0xf4]
call fcn.004278a0
mov edx, str._retranslate
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xf4]
call fcn.004241d0
mov edx, 0x54a958
lea ecx, [ebp - 0xf4]
lea edi, [esi + 0xc4]
call fcn.004241d0
mov edx, str._settoken
mov ecx, eax
call fcn.004241d0
mov edx, 0x542d04
mov ecx, eax
call fcn.004241d0
cmp dword [edi + 0x14], 8
mov ecx, eax
mov eax, dword [edi + 0x10]
jb 0x44684b
mov edi, dword [edi]
push eax
mov edx, edi
call fcn.0042a220
add esp, 4
mov edx, 0x542d04
mov ecx, eax
call fcn.004241d0
cmp byte [esi + 0x10c], 0
je 0x44687b
mov edx, 0x54a95c
lea ecx, [ebp - 0xf4]
call fcn.004241d0
mov eax, dword [esi + 0x110]
cmp eax, 1
jne 0x44688d
mov edx, str.__hidewizard
jmp 0x446897
cmp eax, 2
jne 0x4468a2
mov edx, str.__hidewizardcomplete
lea ecx, [ebp - 0xf4]
call fcn.004241d0
cmp byte [esi + 0x130], 0
je 0x4468c7
mov edx, 0x54a958
lea ecx, [ebp - 0xf4]
call fcn.004241d0
mov edx, str._setautoproxy
mov ecx, eax
call fcn.004241d0
mov edi, dword [ebp - 0x10c]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xf0]
call fcn.004265c0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2c]
mov eax, dword [edi]
push 3
push ecx
mov ecx, edi
call dword [eax + 0x14]
mov byte [ebp - 4], 0xb
jmp 0x4467b1
push edx
push ecx
call fcn.004835cc
add esp, 8
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 8
call fcn.00426680
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x44691c
mov eax, dword [ecx]
push 5
call dword [eax]
mov byte [ebp - 4], 0xd
mov edi, dword [ebp - 0x108]
test edi, edi
je 0x44694b
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x44694b
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], ebx
dec ebx
jne 0x44694b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp dword [esi + 0x4c], 8
lea edi, [esi + 0x38]
mov eax, edi
jb 0x446958
mov eax, dword [edi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x446984
cmp dword [edi + 0x14], 8
jb 0x44696b
mov edi, dword [edi]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
add esi, 0x50
cmp dword [esi + 0x14], 8
jb 0x44697d
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.0048358b
mov esp, ebp
pop ebp
ret
call fcn.004b1db8
call fcn.004b1db8
call fcn.004b1db8
call fcn.004b1db8
call fcn.004b1db8
call fcn.004b1db8
call fcn.004b1db8
int3