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

Disassembly:
push 0xffffffffffffffff
push 0x5e299d
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 0x437417
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:WindowsTempTWfpFrame
lea ecx, [esp + 0x124]
push 0x641730
push ecx
stosb byte es:[edi], al
call fcn.00441c02
mov dl, byte [esp + 0x32c]
lea eax, [esp + 0x12c]
push 6
push eax
mov byte [esp + 0x134], dl
call fcn.004202b0
add esp, 0x14
test eax, eax
je 0x437441
push ebx
call fcn.004179b0
push eax
call fcn.00403cd0
mov ecx, str.TWfpFrame.sys
add esp, 8
mov ebp, eax
mov eax, dword [0x66fd48]
test ecx, ecx
je 0x43746b
cmp eax, ebx
je 0x437227
push ebp
lea ecx, [esp + 0x14]
call fcn.0045a990
mov esi, eax
push str.TWfpFrame.sys
lea ecx, [esp + 0x18]
mov dword [esp + 0x42c], ebx
call fcn.0045a990
mov edx, dword [esi]
mov eax, dword [eax]
push edx
push eax
push str.PrepareInstallDirectory_3___s___s_
push 0x64d2ec
push 0xf
push 0x66fcdc
mov byte [esp + 0x440], 1
call fcn.004277c0
add esp, 0x18
lea ecx, [esp + 0x14]
mov byte [esp + 0x428], bl
call fcn.0045b310
or esi, 0xffffffff
lea ecx, [esp + 0x10]
mov dword [esp + 0x428], esi
call fcn.0045b310
jmp 0x43722a
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 0x633274
push edx
stosb byte es:[edi], al
call fcn.00441c02
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.TWfpFrame.sys
push eax
push 0x633274
push ecx
call fcn.00441c02
mov eax, dword [0x66fd48]
add esp, 0x10
cmp eax, ebx
je 0x437312
lea edx, [esp + 0x20]
lea ecx, [esp + 0x14]
push edx
call fcn.0045a990
mov edi, eax
lea eax, [esp + 0x220]
lea ecx, [esp + 0x10]
push eax
mov dword [esp + 0x42c], 2
call fcn.0045a990
mov ecx, dword [edi]
mov edx, dword [eax]
push ecx
push edx
push str.PrepareInstallDirectory_4___s_______s_
push 0x64d2ec
push 0xf
push 0x66fcdc
mov byte [esp + 0x440], 3
call fcn.004277c0
add esp, 0x18
lea ecx, [esp + 0x10]
mov byte [esp + 0x428], 2
call fcn.0045b310
lea ecx, [esp + 0x14]
mov dword [esp + 0x428], esi
call fcn.0045b310
lea eax, [esp + 0x20]
push ebx
lea ecx, [esp + 0x224]
push eax
push ecx
call fcn.0040e5f0
add esp, 0xc
test eax, eax
je 0x437491
lea edx, [esp + 0x120]
push str.TWfpFrame.inf
push edx
lea eax, [esp + 0x28]
push 0x633274
push eax
call fcn.00441c02
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 0x437513
lea edx, [esp + 0x1c]
push ebx
push edx
mov edx, dword [str.____r_n____TWfpFrame_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_________ActivityMonitor_______________This_is_determined_by_the_work_this_filter_driver_does_r_nClassGuid____b86dff51_a31e_4bac_b3cf_e8cfe75c9fc2_____This_value_is_determined_by_the_Class_r_nProvider______Msft__r_nDriverVer____06_21_2018_5.0.0.0_r_nCatalogFile__TWfpFrame.cat_r_n_r_n_r_n_DestinationDirs__r_nDefaultDestDir____________12_r_nTWfpFrame.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____TWfpFrame.DriverFiles_r_n_r_n_DefaultInstall.Services__r_nAddService____ServiceName___TWfpFrame.Service_r_n_r_n___r_n___Default_uninstall_sections_r_n___r_n_r_n_DefaultUninstall__r_nDelFiles____TWfpFrame.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_TWfpFrame.Service__r_nDisplayName________ServiceName__r_nDescription________ServiceDescription__r_nServiceBinary______12__DriverName_.sys______windir__system32drivers_r_nServiceType_______1_________________________SERVICE_KERNEL_DRIVER_r_nStartType_________1_________________________SERVICE_SYSTEM_START_r_nErrorControl______1_________________________SERVICE_ERROR_NORMAL_r_nLoadOrderGroup_____NetworkProvider__r_nAddReg____________TWfpFrame.AddRegistry_r_n_r_n__r_n__Registry_Modifications_r_n__r_n_r_n_TWfpFrame.AddRegistry__r_nHKR__DebugFlags__0x00010001__0_r_n_r_n__r_n__Copy_Files_r_n__r_n_r_n_TWfpFrame.DriverFiles__r_n_DriverName_.sys_r_n_r_n_SourceDisksFiles__r_nTWfpFrame.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________TWfpFrame_WFP_driver__r_nServiceName_______________TWfpFrame__r_nDriverName________________TWfpFrame__r_nDiskId1___________________TWfpFrame_Device_Installation_Disk__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 [0x66fd48], ebx
je 0x43740a
lea eax, [esp + 0x20]
lea ecx, [esp + 0x18]
push eax
call fcn.0045a990
mov edx, eax
mov ecx, dword [esp + 0x1c]
mov edi, dword [str.____r_n____TWfpFrame_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_________ActivityMonitor_______________This_is_determined_by_the_work_this_filter_driver_does_r_nClassGuid____b86dff51_a31e_4bac_b3cf_e8cfe75c9fc2_____This_value_is_determined_by_the_Class_r_nProvider______Msft__r_nDriverVer____06_21_2018_5.0.0.0_r_nCatalogFile__TWfpFrame.cat_r_n_r_n_r_n_DestinationDirs__r_nDefaultDestDir____________12_r_nTWfpFrame.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____TWfpFrame.DriverFiles_r_n_r_n_DefaultInstall.Services__r_nAddService____ServiceName___TWfpFrame.Service_r_n_r_n___r_n___Default_uninstall_sections_r_n___r_n_r_n_DefaultUninstall__r_nDelFiles____TWfpFrame.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_TWfpFrame.Service__r_nDisplayName________ServiceName__r_nDescription________ServiceDescription__r_nServiceBinary______12__DriverName_.sys______windir__system32drivers_r_nServiceType_______1_________________________SERVICE_KERNEL_DRIVER_r_nStartType_________1_________________________SERVICE_SYSTEM_START_r_nErrorControl______1_________________________SERVICE_ERROR_NORMAL_r_nLoadOrderGroup_____NetworkProvider__r_nAddReg____________TWfpFrame.AddRegistry_r_n_r_n__r_n__Registry_Modifications_r_n__r_n_r_n_TWfpFrame.AddRegistry__r_nHKR__DebugFlags__0x00010001__0_r_n_r_n__r_n__Copy_Files_r_n__r_n_r_n_TWfpFrame.DriverFiles__r_n_DriverName_.sys_r_n_r_n_SourceDisksFiles__r_nTWfpFrame.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________TWfpFrame_WFP_driver__r_nServiceName_______________TWfpFrame__r_nDriverName________________TWfpFrame__r_nDiskId1___________________TWfpFrame_Device_Installation_Disk__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 0x64d2ec
push 0xf
push 0x66fcdc
call fcn.004277c0
add esp, 0x1c
lea ecx, [esp + 0x18]
mov dword [esp + 0x428], 0xffffffff
call fcn.0045b310
mov dword [esp + 0x18], 1
jmp 0x437536
cmp dword [0x66fd48], ebx
je 0x437536
push str.PrepareInstallDirectory_0
push 0x64d2ec
push 0xf
push 0x66fcdc
call fcn.004277c0
add esp, 0x10
jmp 0x437536
cmp dword [0x66fd48], ebx
je 0x437536
push str.PrepareInstallDirectory_1
push 0x64d2ec
push 0xf
push 0x66fcdc
call fcn.004277c0
add esp, 0x10
jmp 0x437536
cmp eax, ebx
je 0x437536
push str.PrepareInstallDirectory_2
push 0x64d2ec
push 0xf
push 0x66fcdc
call fcn.004277c0
add esp, 0x10
jmp 0x437536
cmp dword [0x66fd48], ebx
je 0x437536
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
call fcn.0045a990
mov edi, eax
lea ecx, [esp + 0x220]
mov ebx, 4
push ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x42c], ebx
call fcn.0045a990
mov edx, dword [edi]
mov eax, dword [eax]
push edx
push eax
push str.PrepareInstallDirectory_5___s____s_
push 0x64d2ec
push 0xf
push 0x66fcdc
mov byte [esp + 0x440], 5
call fcn.004277c0
add esp, 0x18
lea ecx, [esp + 0x10]
mov byte [esp + 0x428], bl
call fcn.0045b310
lea ecx, [esp + 0x14]
mov dword [esp + 0x428], esi
call fcn.0045b310
jmp 0x437536
cmp dword [0x66fd48], ebx
je 0x437536
push 0xffffffffffffffff
push str.PrepareInstallDirectory_6_0x_lx
push 0x64d2ec
push 0xf
push 0x66fcdc
call fcn.004277c0
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