Function at 0x100ca9a0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1022fb18
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x3f8
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 - 0x300], 0
mov byte [ebp - 0x21d], 0
lea ecx, [ebp - 0x25c]
call fcn.1007e380
mov dword [ebp - 4], 0
mov byte [ebp - 4], 1
mov dword [ebp - 0x360], 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 - 0x2fc], eax
cmp dword [ebp - 0x2fc], 0
je 0x100cab4a
push 0x98
lea ecx, [ebp - 0x2f4]
call fcn.1004c4a0
push 1
lea ecx, [ebp - 0x2f4]
call fcn.100846c0
mov dword [ebp - 0x358], eax
mov byte [ebp - 4], 2
push 0x1023a50c
lea edx, [ebp - 0x2f4]
push edx
call fcn.10082bb0
add esp, 8
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x348], eax
push 0x100829b0
mov ecx, dword [ebp - 0x348]
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 - 0x34c], eax
mov ecx, dword [ebp - 0x34c]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x2fc]
push edx
mov ecx, dword [ebp - 0x350]
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 0x1023a508
mov eax, dword [ebp - 0x304]
push eax
call fcn.10082bb0
add esp, 8
lea ecx, [ebp - 0x390]
push ecx
lea ecx, [ebp - 0x2f4]
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 - 0x378]
call fcn.100831f0
push 0x102ca4c4
lea ecx, [ebp - 0x378]
push ecx
call sub.VCRUNTIME140.dll__CxxThrowException
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x390]
call fcn.100895a0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2f4]
call fcn.10082f70
lea edx, [ebp - 0x21c]
push edx
lea ecx, [ebp - 0x244]
call fcn.100800e0
mov dword [ebp - 0x35c], eax
mov byte [ebp - 4], 4
push 0x1023a534
lea ecx, [ebp - 0x244]
call fcn.100c8f00
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x100cad44
lea ecx, [ebp - 0x22c]
call fcn.100800b0
lea ecx, [ebp - 0x22c]
push ecx
lea edx, [ebp - 0x244]
push edx
call fcn.10080080
add esp, 8
mov byte [ebp - 0x2f5], al
movzx eax, byte [ebp - 0x2f5]
test eax, eax
jne 0x100cad44
lea ecx, [ebp - 0x22c]
push ecx
lea edx, [ebp - 0x244]
push edx
call fcn.100ca950
add esp, 8
movzx eax, al
test eax, eax
jne 0x100cad44
lea ecx, [ebp - 0x408]
push ecx
lea ecx, [ebp - 0x22c]
call fcn.1007ff90
mov dword [ebp - 0x310], eax
mov edx, dword [ebp - 0x310]
mov dword [ebp - 0x314], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x330], eax
lea ecx, [ebp - 0x3f0]
push ecx
lea ecx, [ebp - 0x244]
call fcn.1007dd50
mov dword [ebp - 0x318], eax
mov edx, dword [ebp - 0x318]
mov dword [ebp - 0x31c], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x31c]
push eax
push str.unable_to_create_settings_folder
lea ecx, [ebp - 0x3d8]
push ecx
call fcn.1004f0b0
add esp, 0xc
mov dword [ebp - 0x320], eax
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x324], edx
mov byte [ebp - 4], 7
push 0x1023a540
mov eax, dword [ebp - 0x324]
push eax
lea ecx, [ebp - 0x3c0]
push ecx
call fcn.100c8e40
add esp, 0xc
mov dword [ebp - 0x328], eax
mov edx, dword [ebp - 0x328]
mov dword [ebp - 0x32c], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x354], eax
mov ecx, dword [ebp - 0x330]
push ecx
mov edx, dword [ebp - 0x354]
push edx
lea eax, [ebp - 0x3a8]
push eax
call fcn.1007c6e0
add esp, 0xc
mov dword [ebp - 0x334], eax
mov ecx, dword [ebp - 0x334]
mov dword [ebp - 0x338], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x338]
push edx
lea ecx, [ebp - 0x36c]
call fcn.100831f0
push 0x102ca4c4
lea eax, [ebp - 0x36c]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x3a8]
call fcn.100895a0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x3c0]
call fcn.100895a0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x3d8]
call fcn.100895a0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3f0]
call fcn.100895a0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x408]
call fcn.100895a0
push str.sa_webappx.cfg
lea ecx, [ebp - 0x244]
call fcn.100c8f00
lea ecx, [ebp - 0x244]
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 - 0x33c], eax
mov ecx, dword [ebp - 0x33c]
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 - 0x244]
call fcn.100729b0
jmp 0x100cadb6
mov dword [ebp - 4], 0
jmp 0x100cadc6
lea ecx, [ebp - 0x25c]
push ecx
lea edx, [ebp - 0x21d]
push edx
mov ecx, dword [ebp + 8]
call fcn.1004ef70
mov eax, dword [ebp - 0x300]
or eax, 1
mov dword [ebp - 0x300], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x25c]
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