Function at 0x4354c0
Capabilities:
Get common file path
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x5da06b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x308
push ebx
push esi
push edi
xor ebx, ebx
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x215]
mov byte [esp + 0x214], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x214]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x43565c
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x15]
mov byte [esp + 0x14], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.C:TsdEncryptMF
lea ecx, [esp + 0x18]
push 0x6366c4
push ecx
stosb byte es:[edi], al
call fcn.00441992
mov dl, byte [esp + 0x220]
lea eax, [esp + 0x20]
push 6
push eax
mov byte [esp + 0x28], dl
call fcn.00420020
add esp, 0x14
test eax, eax
je 0x43567f
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x115]
mov byte [esp + 0x114], bl
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
push str.TsdEncryptMF.inf
stosw word es:[edi], ax
push ecx
lea edx, [esp + 0x11c]
push 0x628274
push edx
stosb byte es:[edi], al
call fcn.00441992
add esp, 0x10
lea eax, [esp + 0x114]
push ebx
push 0x80
push 2
push ebx
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x4356a2
mov edx, dword [str.____r_n____TsdEncryptMF_r_n____r_n____r_n____Copyright__c__2001___2016__TEC_Solutions_Limited_r_n____r_n_r_n_Version__r_nSignature______Windows_NT___r_nClass_________Encryption_______________This_is_determined_by_the_work_this_filter_driver_does_r_nClassGuid____a0a701c0_a511_42ff_aa6c_06dc0395576f_____This_value_is_determined_by_the_Class_r_nProvider______Msft__r_nDriverVer____06_21_2018_5.0.0.0_r_nCatalogFile__TsdEncryptMF.cat_r_n_r_n_r_n_DestinationDirs__r_nDefaultDestDir____________12_r_nTsdEncryptMF.DriverFiles__12______________windir__system32drivers_r_n_r_n___r_n___Default_install_sections_r_n___r_n_r_n_DefaultInstall__r_nOptionDesc____ServiceDescription__r_nCopyFiles____TsdEncryptMF.DriverFiles_r_n_r_n_DefaultInstall.Services__r_nAddService____ServiceName___TsdEncryptMF.Service_r_n_r_n___r_n___Default_uninstall_sections_r_n___r_n_r_n_DefaultUninstall__r_nDelFiles____TsdEncryptMF.DriverFiles_r_n_r_n_DefaultUninstall.Services__r_nDelService___ServiceName__0x200_______Ensure_service_is_stopped_before_deleting_r_n_r_n__r_n__Services_Section_r_n__r_n_r_n_TsdEncryptMF.Service__r_nDisplayName________ServiceName__r_nDescription________ServiceDescription__r_nServiceBinary______12__DriverName_.sys______windir__system32drivers_r_nDependencies_______FltMgr__r_nServiceType_______2_________________________SERVICE_FILE_SYSTEM_DRIVER_r_nStartType_________1_________________________SERVICE_SYSTEM_START_r_nErrorControl______1_________________________SERVICE_ERROR_NORMAL_r_nLoadOrderGroup_____FSFilter_Encryption__r_nAddReg____________TsdEncryptMF.AddRegistry_r_n_r_n__r_n__Registry_Modifications_r_n__r_n_r_n_TsdEncryptMF.AddRegistry__r_nHKR__Instances___DefaultInstance__0x00000000__DefaultInstance__r_nHKR__Instances__Instance1.Name___Altitude__0x00000000__Instance1.Altitude__r_nHKR__Instances__Instance1.Name___Flags__0x00010001__Instance1.Flags__r_n_r_n__r_n__Copy_Files_r_n__r_n_r_n_TsdEncryptMF.DriverFiles__r_n_DriverName_.sys_r_n_r_n_SourceDisksFiles__r_nTsdEncryptMF.sys__1___r_n_r_n_SourceDisksNames__r_n1___DiskId1_____r_n_r_n___r_n___String_Section_r_n___r_n_r_n_Strings__r_nMsft______________________TEC_Solutions_Limited__r_nServiceDescription________TsdEncryptMF_mini_filter_driver__r_nServiceName_______________TsdEncryptMF__r_nDriverName________________TsdEncryptMF__r_nDiskId1___________________TsdEncryptMF_Device_Installation_Disk__r_n_r_n_Instances_specific_information._r_nDefaultInstance___________TsdEncryptMF_Instance__r_nInstance1.Name____________TsdEncryptMF_Instance__r_nInstance1.Altitude________150000__r_nInstance1.Flags__________0x0____________Allow_all_attachments_r_n_r_n_r_n]
lea ecx, [esp + 0xc]
push ebx
push ecx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x14], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x6646f8], ebx
je 0x435655
lea edx, [esp + 0x114]
lea ecx, [esp + 0x10]
push edx
call fcn.0045a720
mov edx, eax
mov eax, dword [esp + 0xc]
mov edi, dword [str.____r_n____TsdEncryptMF_r_n____r_n____r_n____Copyright__c__2001___2016__TEC_Solutions_Limited_r_n____r_n_r_n_Version__r_nSignature______Windows_NT___r_nClass_________Encryption_______________This_is_determined_by_the_work_this_filter_driver_does_r_nClassGuid____a0a701c0_a511_42ff_aa6c_06dc0395576f_____This_value_is_determined_by_the_Class_r_nProvider______Msft__r_nDriverVer____06_21_2018_5.0.0.0_r_nCatalogFile__TsdEncryptMF.cat_r_n_r_n_r_n_DestinationDirs__r_nDefaultDestDir____________12_r_nTsdEncryptMF.DriverFiles__12______________windir__system32drivers_r_n_r_n___r_n___Default_install_sections_r_n___r_n_r_n_DefaultInstall__r_nOptionDesc____ServiceDescription__r_nCopyFiles____TsdEncryptMF.DriverFiles_r_n_r_n_DefaultInstall.Services__r_nAddService____ServiceName___TsdEncryptMF.Service_r_n_r_n___r_n___Default_uninstall_sections_r_n___r_n_r_n_DefaultUninstall__r_nDelFiles____TsdEncryptMF.DriverFiles_r_n_r_n_DefaultUninstall.Services__r_nDelService___ServiceName__0x200_______Ensure_service_is_stopped_before_deleting_r_n_r_n__r_n__Services_Section_r_n__r_n_r_n_TsdEncryptMF.Service__r_nDisplayName________ServiceName__r_nDescription________ServiceDescription__r_nServiceBinary______12__DriverName_.sys______windir__system32drivers_r_nDependencies_______FltMgr__r_nServiceType_______2_________________________SERVICE_FILE_SYSTEM_DRIVER_r_nStartType_________1_________________________SERVICE_SYSTEM_START_r_nErrorControl______1_________________________SERVICE_ERROR_NORMAL_r_nLoadOrderGroup_____FSFilter_Encryption__r_nAddReg____________TsdEncryptMF.AddRegistry_r_n_r_n__r_n__Registry_Modifications_r_n__r_n_r_n_TsdEncryptMF.AddRegistry__r_nHKR__Instances___DefaultInstance__0x00000000__DefaultInstance__r_nHKR__Instances__Instance1.Name___Altitude__0x00000000__Instance1.Altitude__r_nHKR__Instances__Instance1.Name___Flags__0x00010001__Instance1.Flags__r_n_r_n__r_n__Copy_Files_r_n__r_n_r_n_TsdEncryptMF.DriverFiles__r_n_DriverName_.sys_r_n_r_n_SourceDisksFiles__r_nTsdEncryptMF.sys__1___r_n_r_n_SourceDisksNames__r_n1___DiskId1_____r_n_r_n___r_n___String_Section_r_n___r_n_r_n_Strings__r_nMsft______________________TEC_Solutions_Limited__r_nServiceDescription________TsdEncryptMF_mini_filter_driver__r_nServiceName_______________TsdEncryptMF__r_nDriverName________________TsdEncryptMF__r_nDiskId1___________________TsdEncryptMF_Device_Installation_Disk__r_n_r_n_Instances_specific_information._r_nDefaultInstance___________TsdEncryptMF_Instance__r_nInstance1.Name____________TsdEncryptMF_Instance__r_nInstance1.Altitude________150000__r_nInstance1.Flags__________0x0____________Allow_all_attachments_r_n_r_n_r_n]
push eax
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x320], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [edx]
push ecx
push str.PrepareUninstallDirectory_7_szTarget__s____d___d_
push str.TSDEncryptMF
push 0xf
push 0x66468c
call fcn.00427530
add esp, 0x1c
lea ecx, [esp + 0x10]
mov dword [esp + 0x31c], 0xffffffff
call fcn.0045b0a0
mov eax, 1
jmp 0x4356c7
cmp dword [0x6646f8], ebx
je 0x4356c5
push str.PrepareUninstallDirectory_0
push str.TSDEncryptMF
push 0xf
push 0x66468c
call fcn.00427530
add esp, 0x10
jmp 0x4356c5
cmp dword [0x6646f8], ebx
je 0x4356c5
push str.PrepareUninstallDirectory_1
push str.TSDEncryptMF
push 0xf
push 0x66468c
call fcn.00427530
add esp, 0x10
jmp 0x4356c5
cmp dword [0x6646f8], ebx
je 0x4356c5
push 0xffffffffffffffff
push str.PrepareUninstallDirectory_2_0x_lx
push str.TSDEncryptMF
push 0xf
push 0x66468c
call fcn.00427530
add esp, 0x14
mov eax, ebx
mov ecx, dword [esp + 0x314]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x314
ret