Function at 0x41cc90
Capabilities:
Check if file exists
Check os version
Get common file path
Get file attributes
Get startup folder
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x55ec06
mov eax, dword fs:[0]
push eax
sub esp, 0x364
mov eax, dword [0x5bf500]
xor eax, esp
mov dword [esp + 0x35c], eax
push ebx
push esi
mov eax, dword [0x5bf500]
xor eax, esp
push eax
lea eax, [esp + 0x370]
mov dword fs:[0], eax
push 0x114
lea eax, [esp + 0x48]
push 0
push eax
call fcn.00525d00
add esp, 0xc
mov dword [esp + 0x44], 0x114
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x41cd13
mov eax, dword [esp + 0x48]
cmp eax, 6
jb 0x41cd0c
jne 0x41cd13
cmp dword [esp + 0x4c], 1
jae 0x41cd13
xor al, al
jmp 0x41d0d1
xor eax, eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
xor bl, bl
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], 0
mov word [esp + 0x2c], ax
mov dword [esp + 0x378], eax
lea eax, [esp + 0x15c]
push eax
push 0
push 0
push 0x2b
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x41cd9a
cmp word [esp + 0x15c], 0
jne 0x41cd75
xor ecx, ecx
lea eax, [esp + 0x15c]
push ecx
push eax
jmp 0x41cda1
lea ecx, [esp + 0x15c]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41cd80
sub ecx, edx
lea eax, [esp + 0x15c]
sar ecx, 1
push ecx
push eax
jmp 0x41cda1
push 0x1d
push str.C:Program_FilesCommon_Files
lea ecx, [esp + 0x34]
call fcn.00404140
push str.AuthenTecTrueAPI.dll
lea edx, [esp + 0x30]
lea ecx, [esp + 0x18]
call fcn.0041dc90
add esp, 4
mov byte [esp + 0x378], 1
lea eax, [esp + 0x14]
cmp dword [esp + 0x28], 8
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmovae eax, dword [esp + 0x14]
push eax
call esi
cmp eax, 0xffffffff
jne 0x41ce19
push 0x25
push str.C:Program_FilesLastPassTrueAPI.dll
lea ecx, [esp + 0x1c]
call fcn.00404140
cmp dword [esp + 0x28], 8
lea eax, [esp + 0x14]
cmovae eax, dword [esp + 0x14]
push eax
call esi
cmp eax, 0xffffffff
jne 0x41ce19
push 0xb
push str.TrueAPI.dll
lea ecx, [esp + 0x1c]
call fcn.00404140
cmp dword [esp + 0x28], 8
lea eax, [esp + 0x14]
cmovae eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x5d2ac8], eax
test eax, eax
je 0x41d068
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.TA_Init
push eax
call esi
push str.TA_Free
push dword [0x5d2ac8]
mov dword [0x5d2ac4], eax
call esi
push str.TA_Id_GetCard
push dword [0x5d2ac8]
mov dword [0x5d2ac0], eax
call esi
push str.TA_Card_GetProperty
push dword [0x5d2ac8]
mov dword [0x5d2abc], eax
call esi
push str.TA_Card_Delete
push dword [0x5d2ac8]
mov dword [0x5d2ab8], eax
call esi
push str.TA_Id_CreateCard
push dword [0x5d2ac8]
mov dword [0x5d2ab4], eax
call esi
push str.TA_Card_SetProperty
push dword [0x5d2ac8]
mov dword [0x5d2ab0], eax
call esi
push str.TA_GetIdentity
push dword [0x5d2ac8]
mov dword [0x5d2aac], eax
call esi
push str.TA_GetApp
push dword [0x5d2ac8]
mov dword [0x5d2aa8], eax
call esi
push str.TA_SetProperty
push dword [0x5d2ac8]
mov dword [0x5d2aa4], eax
call esi
push str.TA_App_Release
push dword [0x5d2ac8]
mov dword [0x5d2aa0], eax
call esi
push str.TA_Id_Release
push dword [0x5d2ac8]
mov dword [0x5d2a9c], eax
call esi
push str.TA_Card_Release
push dword [0x5d2ac8]
mov dword [0x5d2a98], eax
call esi
mov ecx, dword [0x5d2ac4]
mov dword [0x5d2a94], eax
test ecx, ecx
je 0x41d05c
cmp dword [0x5d2ac0], 0
je 0x41d05c
cmp dword [0x5d2abc], 0
je 0x41d05c
cmp dword [0x5d2ab8], 0
je 0x41d05c
cmp dword [0x5d2ab4], 0
je 0x41d05c
cmp dword [0x5d2ab0], 0
je 0x41d05c
cmp dword [0x5d2aac], 0
je 0x41d05c
cmp dword [0x5d2aa8], 0
je 0x41d05c
cmp dword [0x5d2aa4], 0
je 0x41d05c
cmp dword [0x5d2aa0], 0
je 0x41d05c
cmp dword [0x5d2a9c], 0
je 0x41d05c
cmp dword [0x5d2a98], 0
je 0x41d05c
test eax, eax
je 0x41d05c
push 0x5d2a90
push 0
push 0x585158
push 0x584694
call ecx
movzx eax, ax
test ax, ax
je 0x41cfec
cmp ax, 0xfffd
jne 0x41d05c
push 1
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
push 0x65
push 0x5d2a90
call dword [0x5d2aa0]
lea eax, [esp + 0x10]
push eax
push 1
push 0x5d2a90
call dword [0x5d2aa4]
movzx eax, ax
test ax, ax
jne 0x41d051
push 0x5d2a8c
push 1
push 0x5d2a90
call dword [0x5d2aa8]
movzx eax, ax
mov ecx, 1
test ax, ax
movzx ebx, bl
lea eax, [esp + 0x10]
push eax
cmove ebx, ecx
call dword [0x5d2a9c]
test bl, bl
jne 0x41d068
push 0x5d2a90
call dword [0x5d2ac0]
push dword [0x5d2ac8]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov byte [esp + 0x378], 0
cmp dword [esp + 0x28], 8
jb 0x41d083
push dword [esp + 0x14]
call fcn.00443e80
add esp, 4
xor eax, eax
mov dword [esp + 0x28], 7
mov dword [esp + 0x24], 0
mov word [esp + 0x14], ax
mov dword [esp + 0x378], 0xffffffff
cmp dword [esp + 0x40], 8
jb 0x41d0b8
push dword [esp + 0x2c]
call fcn.00443e80
add esp, 4
xor eax, eax
mov dword [esp + 0x40], 7
mov word [esp + 0x2c], ax
mov al, bl
mov dword [esp + 0x3c], 0
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [esp + 0x35c]
xor ecx, esp
call fcn.0051ece9
mov esp, ebp
pop ebp
ret