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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100fc567
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x51f0
call fcn.100d1260
mov eax, dword [0x10172eb8]
xor eax, ebp
mov dword [ebp - 0x20], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x5180], ecx
mov dword [ebp - 0x14], 0x43297
mov dword [ebp - 0x379c], 0xffffffff
lea ecx, [ebp - 0x3888]
call sym.PfMgrApi.dll_public:_void___thiscall_CPreferredProfile::constructor_void_
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x39b4]
call sym.PfMgrApi.dll_public:_void___thiscall_CProfileNameArray::constructor_void_
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x39c8]
call sym.PfMgrApi.dll_public:_void___thiscall_CProfileNameArray::constructor_void_
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2944]
call sym.PfMgrApi.dll_public:_void___thiscall_CProfileNameArray::constructor_void_
mov byte [ebp - 4], 3
mov dword [ebp - 0x2824], 0x40
mov dword [ebp - 0x1c], 0x2800
cmp dword [ebp + 0xc], 0xffffffff
jne 0x1001d5e7
mov dword [ebp - 0x5168], 0x800432b1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2944]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CProfileNameArray::destructor_void_
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x39c8]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CProfileNameArray::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x39b4]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CProfileNameArray::destructor_void_
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3888]
call sym.PfMgrApi.dll_public:_void___thiscall_CPreferredProfile::destructor_void_
mov eax, dword [ebp - 0x5168]
jmp 0x1001deb3
push 0x104
push 0
lea eax, [ebp - 0x3998]
push eax
call fcn.100cac20
add esp, 0xc
lea ecx, [ebp - 0x3998]
push ecx
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x1001d627
push 0x10114338
lea edx, [ebp - 0x3998]
push edx
call fcn.100d13f0
add esp, 8
lea eax, [ebp - 0x3998]
push eax
call fcn.100cb090
add esp, 4
mov ecx, 0x104
sub ecx, eax
push ecx
push 0x1011433c
lea edx, [ebp - 0x3998]
push edx
call fcn.1001f1f0
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x2930]
push eax
call fcn.100cac20
add esp, 0xc
lea ecx, [ebp - 0x2930]
push ecx
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0x399c], eax
cmp dword [ebp - 0x399c], 0
jne 0x1001d69d
push 0x10114348
lea edx, [ebp - 0x2930]
push edx
call fcn.100d13f0
add esp, 8
lea eax, [ebp - 0x2930]
push eax
call fcn.100cb090
add esp, 4
mov ecx, 0x104
sub ecx, eax
push ecx
push 0x1011434c
lea edx, [ebp - 0x2930]
push edx
call fcn.1001f1f0
add esp, 0xc
mov byte [ebp - 4], 4
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x3998]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x379c], eax
cmp dword [ebp - 0x379c], 0xffffffff
jne 0x1001d74e
mov dword [ebp - 0x516c], 0x8004329e
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2944]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CProfileNameArray::destructor_void_
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x39c8]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CProfileNameArray::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x39b4]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CProfileNameArray::destructor_void_
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3888]
call sym.PfMgrApi.dll_public:_void___thiscall_CPreferredProfile::destructor_void_
mov eax, dword [ebp - 0x516c]
jmp 0x1001deb3
mov dword [ebp - 0x14], 0x43297
mov dword [ebp - 0x388c], 0
push 0
lea ecx, [ebp - 0x388c]
push ecx
push 0x2800
lea edx, [ebp - 0x2820]
push edx
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x39a0], eax
cmp dword [ebp - 0x39a0], 0
jne 0x1001d7ae
mov dword [ebp - 0x14], 0x800432c3
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x5170], ecx
push 0x1014f068
lea edx, [ebp - 0x5170]
push edx
call fcn.100cb4c0
mov dword [ebp - 0x18], 0
push 0
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x388c]
push ecx
lea edx, [ebp - 0x2820]
push edx
mov eax, dword [ebp - 0x379c]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0x39a0], eax
cmp dword [ebp - 0x39a0], 0
jne 0x1001d806
mov dword [ebp - 0x14], 0x800432a5
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x5174], ecx
push 0x1014f068
lea edx, [ebp - 0x5174]
push edx
call fcn.100cb4c0
cmp dword [ebp - 0x388c], 0x2800
je 0x1001d755
mov eax, dword [ebp - 0x379c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x379c], 0xffffffff
push 0x104
push 0
lea ecx, [ebp - 0x3ad0]
push ecx
call fcn.100cac20
add esp, 0xc
push 0
push 0x104
lea edx, [ebp - 0x3ad0]
push edx
call fcn.10090ea0
add esp, 0xc
lea eax, [ebp - 0x3ad0]
push eax
mov ecx, dword [ebp - 0x5180]
mov edx, dword [ecx + 0x1334]
push edx
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_void___thiscall_CITProfileDbController::constructor_class_CEvTraceLogger___char_const__
mov dword [ebp - 0x5184], eax
mov byte [ebp - 4], 5
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x3998]
push ecx
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::Initialize_char_const___struct__IntelDbCryptoInfo___
push 0xbb8
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::Open_unsigned_long_int_
mov dword [ebp - 0x5188], eax
mov edx, dword [ebp - 0x5188]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0x43297
je 0x1001d923
mov dword [ebp - 0x5178], 0x800432c5
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CITProfileDbController::destructor_void_
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2944]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CProfileNameArray::destructor_void_
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x39c8]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CProfileNameArray::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x39b4]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CProfileNameArray::destructor_void_
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3888]
call sym.PfMgrApi.dll_public:_void___thiscall_CPreferredProfile::destructor_void_
mov eax, dword [ebp - 0x5178]
jmp 0x1001deb3
push 0x41
push 0
lea eax, [ebp - 0x37e8]
push eax
call fcn.100cac20
add esp, 0xc
mov ecx, dword [ebp - 0x2824]
push ecx
lea edx, [ebp - 0x37e8]
push edx
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::GetFirstProfileName_char___unsigned_int_
mov dword [ebp - 0x518c], eax
mov eax, dword [ebp - 0x518c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x43297
jne 0x1001da8b
lea ecx, [ebp - 0x3798]
push ecx
call fcn.1008d9a0
add esp, 4
lea edx, [ebp - 0x3798]
push edx
lea eax, [ebp - 0x37e8]
push eax
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::GetProfileToApply_char_const___struct__INTEL_WLAN_PROFILE_V120__
mov dword [ebp - 0x5190], eax
mov ecx, dword [ebp - 0x5190]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x43297
jne 0x1001da4b
lea edx, [ebp - 0x3798]
push edx
call fcn.10090e20
add esp, 4
mov dword [ebp - 0x5194], eax
cmp dword [ebp - 0x5194], 0
jne 0x1001da4b
lea eax, [ebp - 0x37e8]
push eax
mov ecx, dword [ebp - 0x5180]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::ProfileExists_char_const__
mov dword [ebp - 0x5198], eax
mov ecx, dword [ebp - 0x5198]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x80043aa0
jne 0x1001da21
lea edx, [ebp - 0x3798]
push edx
lea eax, [ebp - 0x37e8]
push eax
mov ecx, dword [ebp - 0x5180]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::Update_char_const___struct__INTEL_WLAN_PROFILE_V120__
mov dword [ebp - 0x519c], eax
mov ecx, dword [ebp - 0x519c]
mov dword [ebp - 0x14], ecx
jmp 0x1001da4b
push 0
lea edx, [ebp - 0x3798]
push edx
lea eax, [ebp - 0x37e8]
push eax
mov ecx, dword [ebp - 0x5180]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::Save_char_const___struct__INTEL_WLAN_PROFILE_V120___int_
mov dword [ebp - 0x51a0], eax
mov ecx, dword [ebp - 0x51a0]
mov dword [ebp - 0x14], ecx
push 0x41
push 0
lea edx, [ebp - 0x37e8]
push edx
call fcn.100cac20
add esp, 0xc
mov eax, dword [ebp - 0x2824]
push eax
lea ecx, [ebp - 0x37e8]
push ecx
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::GetNextProfileName_char___unsigned_int_
mov dword [ebp - 0x51a4], eax
mov edx, dword [ebp - 0x51a4]
mov dword [ebp - 0x14], edx
jmp 0x1001d95e
lea eax, [ebp - 0x3888]
push eax
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::GetFirstPersistentProfile_class_CPreferredProfile__
mov dword [ebp - 0x51a8], eax
mov ecx, dword [ebp - 0x51a8]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x43297
jne 0x1001db71
lea edx, [ebp - 0x3798]
push edx
call fcn.1008d9a0
add esp, 4
lea ecx, [ebp - 0x3888]
call sym.PfMgrApi.dll_public:_char____thiscall_CPreferredProfile::Name_void_
mov dword [ebp - 0x51ac], eax
lea eax, [ebp - 0x3798]
push eax
mov ecx, dword [ebp - 0x51ac]
push ecx
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::GetProfileToApply_char_const___struct__INTEL_WLAN_PROFILE_V120__
mov dword [ebp - 0x51b0], eax
mov edx, dword [ebp - 0x51b0]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0x43297
jne 0x1001db4b
lea eax, [ebp - 0x3798]
push eax
call fcn.10090e20
add esp, 4
mov dword [ebp - 0x51b4], eax
cmp dword [ebp - 0x51b4], 0
jne 0x1001db4b
lea ecx, [ebp - 0x3888]
call sym.PfMgrApi.dll_public:_char____thiscall_CPreferredProfile::Name_void_
mov dword [ebp - 0x51b8], eax
mov ecx, dword [ebp - 0x51b8]
push ecx
lea ecx, [ebp - 0x39b4]
call sym.PfMgrApi.dll_public:_bool___thiscall_CProfileNameArray::Add_char_const__
lea edx, [ebp - 0x3888]
push edx
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::GetNextPersistentProfile_class_CPreferredProfile__
mov dword [ebp - 0x51bc], eax
mov eax, dword [ebp - 0x51bc]
mov dword [ebp - 0x14], eax
jmp 0x1001daac
lea ecx, [ebp - 0x39b4]
call sym.PfMgrApi.dll_public:_unsigned_int___thiscall_CProfileNameArray::Size_void_const
mov dword [ebp - 0x51c0], eax
cmp dword [ebp - 0x51c0], 0
jbe 0x1001dbac
lea ecx, [ebp - 0x39b4]
push ecx
mov ecx, dword [ebp - 0x5180]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::SavePersistentList_class_CProfileNameArray__
mov dword [ebp - 0x51c4], eax
mov edx, dword [ebp - 0x51c4]
mov dword [ebp - 0x14], edx
lea eax, [ebp - 0x3888]
push eax
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::GetFirstPreLogonProfile_class_CPreferredProfile__
mov dword [ebp - 0x51c8], eax
mov ecx, dword [ebp - 0x51c8]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x43297
jne 0x1001dc92
lea edx, [ebp - 0x3798]
push edx
call fcn.1008d9a0
add esp, 4
lea ecx, [ebp - 0x3888]
call sym.PfMgrApi.dll_public:_char____thiscall_CPreferredProfile::Name_void_
mov dword [ebp - 0x51cc], eax
lea eax, [ebp - 0x3798]
push eax
mov ecx, dword [ebp - 0x51cc]
push ecx
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::GetProfileToApply_char_const___struct__INTEL_WLAN_PROFILE_V120__
mov dword [ebp - 0x51d0], eax
mov edx, dword [ebp - 0x51d0]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0x43297
jne 0x1001dc6c
lea eax, [ebp - 0x3798]
push eax
call fcn.10090e20
add esp, 4
mov dword [ebp - 0x51d4], eax
cmp dword [ebp - 0x51d4], 0
jne 0x1001dc6c
lea ecx, [ebp - 0x3888]
call sym.PfMgrApi.dll_public:_char____thiscall_CPreferredProfile::Name_void_
mov dword [ebp - 0x51d8], eax
mov ecx, dword [ebp - 0x51d8]
push ecx
lea ecx, [ebp - 0x39c8]
call sym.PfMgrApi.dll_public:_bool___thiscall_CProfileNameArray::Add_char_const__
lea edx, [ebp - 0x3888]
push edx
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::GetNextPreLogonProfile_class_CPreferredProfile__
mov dword [ebp - 0x51dc], eax
mov eax, dword [ebp - 0x51dc]
mov dword [ebp - 0x14], eax
jmp 0x1001dbcd
lea ecx, [ebp - 0x39c8]
call sym.PfMgrApi.dll_public:_unsigned_int___thiscall_CProfileNameArray::Size_void_const
mov dword [ebp - 0x51e0], eax
cmp dword [ebp - 0x51e0], 0
jbe 0x1001dccd
lea ecx, [ebp - 0x39c8]
push ecx
mov ecx, dword [ebp - 0x5180]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::SavePreLogonList_class_CProfileNameArray__
mov dword [ebp - 0x51e4], eax
mov edx, dword [ebp - 0x51e4]
mov dword [ebp - 0x14], edx
lea eax, [ebp - 0x3888]
push eax
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::GetFirstPostLogonProfile_class_CPreferredProfile__
mov dword [ebp - 0x51e8], eax
mov ecx, dword [ebp - 0x51e8]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x43297
jne 0x1001dd3d
lea ecx, [ebp - 0x3888]
call sym.PfMgrApi.dll_public:_char____thiscall_CPreferredProfile::Name_void_
mov dword [ebp - 0x51ec], eax
mov edx, dword [ebp - 0x51ec]
push edx
lea ecx, [ebp - 0x2944]
call sym.PfMgrApi.dll_public:_bool___thiscall_CProfileNameArray::Add_char_const__
lea eax, [ebp - 0x3888]
push eax
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::GetNextPostLogonProfile_class_CPreferredProfile__
mov dword [ebp - 0x51f0], eax
mov ecx, dword [ebp - 0x51f0]
mov dword [ebp - 0x14], ecx
jmp 0x1001dcee
mov byte [ebp - 0x5164], 0
xor edx, edx
mov dword [ebp - 0x5163], edx
mov dword [ebp - 0x515f], edx
mov dword [ebp - 0x515b], edx
mov dword [ebp - 0x5157], edx
mov dword [ebp - 0x5153], edx
mov dword [ebp - 0x514f], edx
mov dword [ebp - 0x514b], edx
mov dword [ebp - 0x5147], edx
push 0x21
lea eax, [ebp - 0x5164]
push eax
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CProfileDbController::GetFirstExcludeEntry_char___unsigned_int_
mov dword [ebp - 0x51f4], eax
mov ecx, dword [ebp - 0x51f4]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x8004329f
je 0x1001ddd9
lea edx, [ebp - 0x5164]
push edx
mov ecx, dword [ebp - 0x5180]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CProfileDbController::AddToExcludeList_char__
push 0x21
lea eax, [ebp - 0x5164]
push eax
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CProfileDbController::GetNextExcludeEntry_char___unsigned_int_
mov dword [ebp - 0x51f8], eax
mov ecx, dword [ebp - 0x51f8]
mov dword [ebp - 0x14], ecx
jmp 0x1001dd99
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CProfileDbController::Close_void_
lea ecx, [ebp - 0x2944]
call sym.PfMgrApi.dll_public:_unsigned_int___thiscall_CProfileNameArray::Size_void_const
mov dword [ebp - 0x51fc], eax
cmp dword [ebp - 0x51fc], 0
jbe 0x1001de1f
lea edx, [ebp - 0x2944]
push edx
mov ecx, dword [ebp - 0x5180]
call sym.PfMgrApi.dll_public:_long_int___thiscall_CITProfileDbController::SavePostLogonList_class_CProfileNameArray__
mov dword [ebp - 0x5200], eax
mov eax, dword [ebp - 0x5200]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x5140]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CITProfileDbController::destructor_void_
jmp 0x1001de5d
mov dword [ebp - 4], 3
mov dword [ebp - 0x517c], 0x43297
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2944]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CProfileNameArray::destructor_void_
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x39c8]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CProfileNameArray::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x39b4]
call sym.PfMgrApi.dll_public_virtual:_void___thiscall_CProfileNameArray::destructor_void_
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3888]
call sym.PfMgrApi.dll_public:_void___thiscall_CPreferredProfile::destructor_void_
mov eax, dword [ebp - 0x517c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.100ca7f5
mov esp, ebp
pop ebp
ret 8