Function at 0x10119850
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101c6e04
mov eax, dword fs:[0]
push eax
mov eax, 0x1278
call fcn.101beed0
mov eax, dword [0x1023c014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x85c]
mov esi, dword [ebp + 0xc]
push 0x208
push 0
push eax
mov dword [ebp - 0x1270], edi
call sub.VCRUNTIME140.dll_memset
push 0x200
lea eax, [ebp - 0x654]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x200
lea eax, [ebp - 0xc64]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x208
lea eax, [ebp - 0x454]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ax, word [0x101d5c1c]
xorps xmm0, xmm0
push 0xffffffffffffffff
push str..folder
mov word [ebp - 0x1c], ax
lea eax, [ebp - 0x4c]
movups xmmword [ebp - 0x4c], xmm0
push 0x14
movups xmmword [ebp - 0x3c], xmm0
push eax
movq qword [ebp - 0x2c], xmm0
movq xmm0, qword [str..lnk]
movq qword [ebp - 0x24], xmm0
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
add esp, 0x40
lea eax, [ebp - 0x4c]
push str..lnk
push 0x14
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
add esp, 0xc
lea eax, [ebp - 0x85c]
push 0x104
push eax
push esi
call dword [sym.imp.HncFoundation.dll_HncPathToAbsolute]
push 0x100
lea eax, [ebp - 0xc64]
push eax
push 0x100
lea eax, [ebp - 0x654]
push eax
push 0
push 0
push 0
push 0
push edi
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wsplitpath_s]
lea edx, [ebp - 0x85c]
add esp, 0x24
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10119970
sub edx, ecx
lea edi, [ebp - 0x654]
sar edx, 1
lea ecx, [edi + 2]
nop dword [eax + eax]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x10119990
sub edi, ecx
lea ecx, [ebp - 0xc64]
sar edi, 1
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x101199b0
sub ecx, esi
lea esi, [ebp - 0x24]
lea eax, [esi + 2]
sar ecx, 1
mov dword [ebp - 0x1274], eax
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x101199d0
sub esi, dword [ebp - 0x1274]
sar esi, 1
lea eax, [esi + ecx]
add eax, edi
mov edi, 0x7e
add eax, edx
cmp eax, 0x104
jb 0x10119a2d
mov eax, 0x104
sub eax, esi
sub eax, ecx
sub eax, edx
test eax, eax
jle 0x10119da9
mov word [ebp + eax*2 - 0x658], di
lea eax, [eax*2 - 2]
cmp eax, 0x200
jae 0x10119dce
xor ecx, ecx
mov word [ebp + eax - 0x654], cx
lea eax, [ebp - 0xc64]
push eax
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0x85c]
push eax
push 0
lea eax, [ebp - 0x454]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wmakepath_s]
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x454]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
add esp, 0x24
lea eax, [ebp - 0x454]
push eax
call dword [sym.imp.HncFoundation.dll_HncPathCreate]
mov esi, dword [sym.imp.HncFoundation.dll_public:_void___thiscall_CHncStringW::constructor_unsigned_short_int_const__]
lea ecx, [ebp - 0x1278]
push 0x101cfd00
call esi
lea eax, [ebp - 0x454]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x127c]
call esi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1274]
push dword [ebp - 0x1270]
call esi
mov edi, dword [sym.imp.HncFoundation.dll_public:_void___thiscall_CHncStringW::destructor_void_]
lea ecx, [ebp - 0x1274]
call edi
lea ecx, [ebp - 0x127c]
call edi
lea ecx, [ebp - 0x1278]
mov dword [ebp - 4], 0xffffffff
call edi
xor eax, eax
push 0x200
push eax
mov dword [ebp - 0x18], eax
mov word [ebp - 0x14], ax
lea eax, [ebp - 0xe64]
push eax
call sub.VCRUNTIME140.dll_memset
push 0x208
lea eax, [ebp - 0xa64]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x200
lea eax, [ebp - 0x24c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x200
lea eax, [ebp - 0x1064]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0
push 0
push 0
push 0
push 0x100
lea eax, [ebp - 0xe64]
push eax
push 3
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x1270]
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wsplitpath_s]
add esp, 0x54
lea eax, [ebp - 0xe64]
push eax
call dword [sym.imp.HncFoundation.dll_HncRemoveBackSlash]
push 0
lea eax, [ebp - 0xe64]
push eax
push 0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xa64]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wmakepath_s]
push 0x100
lea eax, [ebp - 0x1064]
push eax
push 0x100
lea eax, [ebp - 0x24c]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xa64]
push 0
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wsplitpath_s]
push 0x208
lea eax, [ebp - 0x126c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x48
lea eax, [ebp - 0x126c]
push 0
push 0x20
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x10119c1f
lea ecx, [ebp - 0x126c]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10119bf0
sub ecx, edx
lea eax, [ebp - 0x126c]
sar ecx, 1
push ecx
push eax
lea eax, [ebp - 0xa64]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x10119da9
cmp word [ebp - 0x24c], 0
je 0x10119dad
lea ecx, [ebp - 0x85c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10119c36
sub ecx, edx
lea edi, [ebp - 0x24c]
sar ecx, 1
lea edx, [edi + 2]
nop
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x10119c50
sub edi, edx
lea esi, [ebp - 0x1064]
sar edi, 1
lea edx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x10119c70
sub esi, edx
lea edx, [ebp - 0x4c]
lea eax, [edx + 2]
sar esi, 1
mov dword [ebp - 0x1278], eax
nop dword [eax + eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10119c90
sub edx, dword [ebp - 0x1278]
sar edx, 1
lea eax, [edx + esi]
add eax, edi
add eax, ecx
cmp eax, 0x104
jb 0x10119ced
mov eax, 0x104
sub eax, edx
sub eax, esi
sub eax, ecx
test eax, eax
jle 0x10119da9
mov ecx, 0x7e
mov word [ebp + eax*2 - 0x250], cx
lea eax, [eax*2 - 2]
cmp eax, 0x200
jae 0x10119dce
xor ecx, ecx
mov word [ebp + eax - 0x24c], cx
mov edi, dword [sym.imp.HncFoundation.dll_public:_void___thiscall_CHncStringW::destructor_void_]
mov esi, dword [sym.imp.HncFoundation.dll_public:_void___thiscall_CHncStringW::constructor_unsigned_short_int_const__]
lea eax, [ebp - 0x1064]
push eax
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x85c]
push eax
push 0
lea eax, [ebp - 0x454]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wmakepath_s]
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x454]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
add esp, 0x24
lea ecx, [ebp - 0x1284]
push 0x101cfd00
call esi
lea eax, [ebp - 0x454]
mov dword [ebp - 4], 2
push eax
lea ecx, [ebp - 0x1280]
call esi
lea eax, [ebp - 0xa64]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x1270]
call esi
lea ecx, [ebp - 0x1270]
call edi
lea ecx, [ebp - 0x1280]
call edi
lea ecx, [ebp - 0x1284]
call edi
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1008548c
mov esp, ebp
pop ebp
ret
xor eax, eax
jmp 0x10119d8e
lea eax, [ebp - 0xa64]
push eax
lea eax, [ebp - 0x24c]
push 0x100
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
add esp, 0xc
jmp 0x10119cf9
call fcn.1008570d
int3