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

Disassembly:
push 0xffffffffffffffff
push 0x5e784d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x410
push ebx
push ebp
push esi
push edi
xor ebx, ebx
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x321]
mov byte [esp + 0x320], bl
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x324]
mov dword [esp + 0x1c], ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x437af7
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x121]
mov byte [esp + 0x120], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.C:TsdEncryptMF
lea ecx, [esp + 0x124]
push 0x6477cc
push ecx
stosb byte es:[edi], al
call fcn.004446b2
mov dl, byte [esp + 0x32c]
lea eax, [esp + 0x12c]
push 6
push eax
mov byte [esp + 0x134], dl
call fcn.00422640
add esp, 0x14
test eax, eax
je 0x437b21
push ebx
call fcn.00419540
push eax
call fcn.00403b50
mov ecx, str.TsdEncryptMF.sys
add esp, 8
mov ebp, eax
mov eax, dword [0x676468]
test ecx, ecx
je 0x437b4b
cmp eax, ebx
je 0x437907
push ebp
lea ecx, [esp + 0x14]
call fcn.0045d440
mov esi, eax
push str.TsdEncryptMF.sys
lea ecx, [esp + 0x18]
mov dword [esp + 0x42c], ebx
call fcn.0045d440
mov edx, dword [esi]
mov eax, dword [eax]
push edx
push eax
push str.PrepareInstallDirectory_3___s___s_
push str.TSDEncryptMF
push 0xf
push 0x6763fc
mov byte [esp + 0x440], 1
call fcn.00429e80
add esp, 0x18
lea ecx, [esp + 0x14]
mov byte [esp + 0x428], bl
call fcn.0045ddc0
or esi, 0xffffffff
lea ecx, [esp + 0x10]
mov dword [esp + 0x428], esi
call fcn.0045ddc0
jmp 0x43790a
or esi, 0xffffffff
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x221]
mov byte [esp + 0x220], bl
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x320]
push ebp
stosw word es:[edi], ax
push ecx
lea edx, [esp + 0x228]
push 0x638274
push edx
stosb byte es:[edi], al
call fcn.004446b2
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x31]
mov byte [esp + 0x30], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
add esp, 0x10
lea ecx, [esp + 0x20]
stosb byte es:[edi], al
lea eax, [esp + 0x120]
push str.TsdEncryptMF.sys
push eax
push 0x638274
push ecx
call fcn.004446b2
mov eax, dword [0x676468]
add esp, 0x10
cmp eax, ebx
je 0x4379f2
lea edx, [esp + 0x20]
lea ecx, [esp + 0x14]
push edx
call fcn.0045d440
mov edi, eax
lea eax, [esp + 0x220]
lea ecx, [esp + 0x10]
push eax
mov dword [esp + 0x42c], 2
call fcn.0045d440
mov ecx, dword [edi]
mov edx, dword [eax]
push ecx
push edx
push str.PrepareInstallDirectory_4___s_______s_
push str.TSDEncryptMF
push 0xf
push 0x6763fc
mov byte [esp + 0x440], 3
call fcn.00429e80
add esp, 0x18
lea ecx, [esp + 0x10]
mov byte [esp + 0x428], 2
call fcn.0045ddc0
lea ecx, [esp + 0x14]
mov dword [esp + 0x428], esi
call fcn.0045ddc0
lea eax, [esp + 0x20]
push ebx
lea ecx, [esp + 0x224]
push eax
push ecx
call fcn.0040e580
add esp, 0xc
test eax, eax
je 0x437b71
lea edx, [esp + 0x120]
push str.TsdEncryptMF.inf
push edx
lea eax, [esp + 0x28]
push 0x638274
push eax
call fcn.004446b2
add esp, 0x10
lea ecx, [esp + 0x20]
push ebx
push 0x80
push 2
push ebx
push 1
push 0x40000000
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x437bf3
lea edx, [esp + 0x1c]
push ebx
push edx
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]
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x24], 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 [0x676468], ebx
je 0x437aea
lea eax, [esp + 0x20]
lea ecx, [esp + 0x18]
push eax
call fcn.0045d440
mov edx, eax
mov ecx, dword [esp + 0x1c]
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 ecx
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [edx]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x42c], 6
push ecx
push edx
push str.PrepareInstallDirectory_7_szTarget__s____d___d_
push str.TSDEncryptMF
push 0xf
push 0x6763fc
call fcn.00429e80
add esp, 0x1c
lea ecx, [esp + 0x18]
mov dword [esp + 0x428], 0xffffffff
call fcn.0045ddc0
mov dword [esp + 0x18], 1
jmp 0x437c16
cmp dword [0x676468], ebx
je 0x437c16
push str.PrepareInstallDirectory_0
push str.TSDEncryptMF
push 0xf
push 0x6763fc
call fcn.00429e80
add esp, 0x10
jmp 0x437c16
cmp dword [0x676468], ebx
je 0x437c16
push str.PrepareInstallDirectory_1
push str.TSDEncryptMF
push 0xf
push 0x6763fc
call fcn.00429e80
add esp, 0x10
jmp 0x437c16
cmp eax, ebx
je 0x437c16
push str.PrepareInstallDirectory_2
push str.TSDEncryptMF
push 0xf
push 0x6763fc
call fcn.00429e80
add esp, 0x10
jmp 0x437c16
cmp dword [0x676468], ebx
je 0x437c16
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
call fcn.0045d440
mov edi, eax
lea ecx, [esp + 0x220]
mov ebx, 4
push ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x42c], ebx
call fcn.0045d440
mov edx, dword [edi]
mov eax, dword [eax]
push edx
push eax
push str.PrepareInstallDirectory_5___s____s_
push str.TSDEncryptMF
push 0xf
push 0x6763fc
mov byte [esp + 0x440], 5
call fcn.00429e80
add esp, 0x18
lea ecx, [esp + 0x10]
mov byte [esp + 0x428], bl
call fcn.0045ddc0
lea ecx, [esp + 0x14]
mov dword [esp + 0x428], esi
call fcn.0045ddc0
jmp 0x437c16
cmp dword [0x676468], ebx
je 0x437c16
push 0xffffffffffffffff
push str.PrepareInstallDirectory_6_0x_lx
push str.TSDEncryptMF
push 0xf
push 0x6763fc
call fcn.00429e80
add esp, 0x14
mov ecx, dword [esp + 0x420]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x41c
ret