Function at 0x432679
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x438510
push 0x4321d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
add esp, 0xfffffd74
push ebx
push esi
push edi
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 4], 0
cmp dword [0x44c030], 0
jne 0x432761
mov dword [ebp - 0x294], 0
mov eax, dword [ebp + 0x18]
push eax
call fcn.00432b99
add esp, 4
mov dword [0x44c034], eax
cmp dword [0x44c034], 0
je 0x43273e
push 0x44c038
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.00432d6e
add esp, 8
mov dword [ebp - 0x294], eax
cmp dword [ebp - 0x294], 0
jne 0x432753
mov dword [0x44c030], 1
jmp 0x432761
mov edx, dword [ebp - 0x294]
mov dword [ebp - 0x58], edx
jmp 0x432a70
mov word [ebp - 0x28c], 0
mov ecx, 0x82
xor eax, eax
lea edi, [ebp - 0x28a]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x290], 0x105
push 0x44a5f8
call sub.MSVCRT.dll_wcslen
add esp, 4
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x290]
push eax
lea ecx, [ebp - 0x28c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x432811
mov edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 0x290]
jae 0x432811
lea eax, [ebp - 0x28c]
push eax
call sub.MSVCRT.dll_wcslen
add esp, 4
mov ecx, dword [ebp - 0x7c]
lea edx, [eax + ecx + 2]
cmp edx, dword [ebp - 0x290]
ja 0x432811
push 0x44a614
lea eax, [ebp - 0x28c]
push eax
call sub.MSVCRT.dll_wcscat
add esp, 8
push 0x44a618
lea ecx, [ebp - 0x28c]
push ecx
call sub.MSVCRT.dll_wcscat
add esp, 8
lea edx, [ebp - 0x28c]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x43283c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0xffffffffffffffff
mov dword [ebp - 0x298], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__local_unwind2
add esp, 8
mov eax, dword [ebp - 0x298]
jmp 0x432ac3
push str.LsaOpenPolicy
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x30], eax
push str.LsaRetrievePrivateData
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x78], eax
push str.LsaStorePrivateData
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x20], eax
push str.LsaNtStatusToWinError
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x1c], eax
push str.LsaFreeMemory
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x4c], eax
push str.LsaClose
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x30], 0
je 0x4328cc
cmp dword [ebp - 0x78], 0
je 0x4328cc
cmp dword [ebp - 0x20], 0
je 0x4328cc
cmp dword [ebp - 0x1c], 0
je 0x4328cc
cmp dword [ebp - 0x4c], 0
je 0x4328cc
cmp dword [ebp - 0x64], 0
jne 0x4328da
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x58], eax
jmp 0x432a70
push 0x18
push 0
lea ecx, [ebp - 0x48]
push ecx
call sub.MSVCRT.dll_memset
add esp, 0xc
cmp dword [0x44c034], 0
je 0x43290c
push 0x44c038
lea edx, [ebp - 0x70]
push edx
call fcn.00432b2b
add esp, 8
lea eax, [ebp - 0x70]
mov dword [ebp - 0x2c], eax
jmp 0x432928
cmp dword [ebp + 0x18], 0
je 0x432928
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0x70]
push edx
call fcn.00432b2b
add esp, 8
lea eax, [ebp - 0x70]
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x68]
push ecx
mov edx, dword [ebp + 8]
neg edx
sbb edx, edx
and edx, 0xfffe001a
add edx, 0x20006
push edx
lea eax, [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [ebp - 0x30]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jne 0x432a66
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x54]
push eax
call fcn.00432b2b
add esp, 8
cmp dword [ebp + 8], 0
jne 0x4329f2
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x68]
push eax
call dword [ebp - 0x78]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x432996
mov ecx, dword [ebp - 0x74]
push ecx
call dword [ebp - 0x1c]
mov dword [ebp - 0x58], eax
jmp 0x4329de
mov edx, dword [ebp - 0x28]
xor eax, eax
mov ax, word [edx]
shr eax, 1
add eax, 1
cmp eax, dword [ebp + 0x14]
jae 0x4329bd
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov dx, word [ecx]
shr edx, 1
add edx, 1
mov dword [ebp - 0x29c], edx
jmp 0x4329c6
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x29c], eax
mov ecx, dword [ebp - 0x29c]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp dword [ebp - 0x28], 0
je 0x4329f2
mov edx, dword [ebp - 0x28]
push edx
call dword [ebp - 0x4c]
mov dword [ebp - 0x28], 0
cmp dword [ebp + 8], 1
jne 0x432a2a
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x60]
push ecx
call fcn.00432b2b
add esp, 8
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
call dword [ebp - 0x20]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x432a2a
mov edx, dword [ebp - 0x74]
push edx
call dword [ebp - 0x1c]
mov dword [ebp - 0x58], eax
cmp dword [ebp + 8], 2
jne 0x432a50
push 0
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
call dword [ebp - 0x20]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x432a50
mov edx, dword [ebp - 0x74]
push edx
call dword [ebp - 0x1c]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x68], 0
je 0x432a64
mov eax, dword [ebp - 0x68]
push eax
call dword [ebp - 0x64]
mov dword [ebp - 0x68], 0
jmp 0x432a70
mov ecx, dword [ebp - 0x74]
push ecx
call dword [ebp - 0x1c]
mov dword [ebp - 0x58], eax
mov dword [ebp - 4], 0xffffffff
call fcn.00432a7e
jmp 0x432ac0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret