Function at 0x100cae20
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1022fb81
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x334
mov eax, dword [0x102db080]
xor eax, ebp
mov dword [ebp - 0x14], 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 - 0x2f0], 0
mov byte [ebp - 0x21d], 0
lea ecx, [ebp - 0x250]
call fcn.1007e380
mov dword [ebp - 4], 0
mov byte [ebp - 4], 1
mov dword [ebp - 0x318], 1
push 0x208
push 0
lea eax, [ebp - 0x21c]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x21c]
push ecx
push 0
push 0
push 0x8023
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov dword [ebp - 0x2ec], eax
cmp dword [ebp - 0x2ec], 0
je 0x100cafca
push 0x98
lea ecx, [ebp - 0x2e8]
call fcn.1004c4a0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.100846c0
mov dword [ebp - 0x31c], eax
mov byte [ebp - 4], 2
push str.Failed_to_get_CSIDL_COMMON_APPDATA__0x
lea edx, [ebp - 0x2e8]
push edx
call fcn.10082bb0
add esp, 8
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2f8], eax
push 0x100829b0
mov ecx, dword [ebp - 0x2f8]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
mov dword [ebp - 0x300], ecx
mov edx, dword [ebp - 0x2ec]
push edx
mov ecx, dword [ebp - 0x300]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int_]
mov dword [ebp - 0x304], eax
push 0x1023a588
mov eax, dword [ebp - 0x304]
push eax
call fcn.10082bb0
add esp, 8
lea ecx, [ebp - 0x344]
push ecx
lea ecx, [ebp - 0x2e8]
call fcn.10082970
mov dword [ebp - 0x308], eax
mov edx, dword [ebp - 0x308]
mov dword [ebp - 0x30c], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x30c]
push eax
lea ecx, [ebp - 0x32c]
call fcn.100831f0
push 0x102ca4c4
lea ecx, [ebp - 0x32c]
push ecx
call sub.VCRUNTIME140.dll__CxxThrowException
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x344]
call fcn.100895a0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2e8]
call fcn.10082f70
lea edx, [ebp - 0x21c]
push edx
lea ecx, [ebp - 0x238]
call fcn.100800e0
mov dword [ebp - 0x320], eax
mov byte [ebp - 4], 4
push str.Salog
lea ecx, [ebp - 0x238]
call fcn.100c8f00
push str.sa_webapp.cfg
lea ecx, [ebp - 0x238]
call fcn.100c8f00
lea ecx, [ebp - 0x238]
call sym.inst_sam.dll_protected:_void___thiscall_boost::serialization::singleton_class_boost::serialization::extended_type_info_typeid_class_CSamCfg__::constructor_void_
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x310]
call fcn.1007dd30
push eax
mov ecx, dword [ebp + 0xc]
call fcn.10085590
mov byte [ebp - 0x21d], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x238]
call fcn.100729b0
jmp 0x100cb068
mov dword [ebp - 4], 0
jmp 0x100cb078
lea ecx, [ebp - 0x250]
push ecx
lea edx, [ebp - 0x21d]
push edx
mov ecx, dword [ebp + 8]
call fcn.1004ef70
mov eax, dword [ebp - 0x2f0]
or eax, 1
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x250]
call fcn.100895a0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100b9f43
mov esp, ebp
pop ebp
ret