Function at 0x1c3bdd0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x234
mov eax, dword [ebp + 8]
mov ecx, dword [0x1cff040]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
xor edi, edi
dec edi
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x234], edi
cmp byte [eax + 0xb], 0
jns 0x1c3c31a
lea ecx, [ebp - 0x23c]
push dword [eax + 4]
push dword [eax]
call fcn.01c66180
push 0x28
call fcn.01c86c86
add esp, 4
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x210], 0x80000014
mov dword [ebp - 0x214], 0x12
lea ecx, [eax + 0x24]
mov edx, str.SOFTWAREPolicies_
cmp eax, edx
seta bl
cmp ecx, edx
setbe cl
or cl, bl
je 0x1c3c09f
movups xmm0, xmmword [0x1cef6ee]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [str.SOFTWAREPolicies_]
movups xmmword [eax], xmm0
mov dword [eax + 0x20], 0x5c0073
mov word [eax + 0x24], 0
lea ebx, [ebp - 0x218]
xor esi, esi
push ebx
push esi
push dword [ebp + 0xc]
call fcn.01c3ce20
add esp, 0xc
mov dword [ebp - 0x21c], esi
xorps xmm0, xmm0
movsd qword [ebp - 0x224], xmm0
cmp byte [ebx + 0xb], 0
jns 0x1c3beab
mov ebx, dword [ebp - 0x218]
lea eax, [ebp - 0x224]
push eax
push str.UserDataDir
push ebx
push esi
push 1
call fcn.01c3b970
add esp, 0x14
test al, al
jne 0x1c3c280
cmp byte [ebp - 0x20d], 0
js 0x1c3bedc
lea eax, [ebp - 0x218]
jmp 0x1c3bee2
mov eax, dword [ebp - 0x218]
lea ecx, [ebp - 0x224]
push ecx
push str.UserDataDir
push eax
push 0
push 2
call fcn.01c3b970
add esp, 0x14
test al, al
jne 0x1c3c290
cmp byte [ebp - 0x219], 0
js 0x1c3c2de
cmp byte [ebp - 0x20d], 0
jns 0x1c3bf27
push dword [ebp - 0x218]
call fcn.01c86cb6
add esp, 4
movsx ecx, byte [ebp - 0x231]
mov eax, ecx
test ecx, ecx
jns 0x1c3bf3a
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x1c3c0fe
shr ecx, 0x1f
lea ebx, [ebp - 0x23c]
mov edx, ebx
test cl, 1
je 0x1c3bf58
mov edx, dword [ebp - 0x23c]
movzx esi, word [edx + eax*2 - 2]
cmp esi, 0x5c
je 0x1c3c0be
cmp esi, 0x2f
je 0x1c3c0be
lea eax, [ebp - 0x23c]
push eax
call fcn.01c3d8b0
add esp, 4
test al, al
je 0x1c3c0fe
lea edi, [ebp - 0x218]
push 0x208
push 0xff
push edi
call fcn.01c8abb0
add esp, 0xc
cmp byte [ebp - 0x231], 0
js 0x1c3bfb8
lea eax, [ebp - 0x23c]
jmp 0x1c3bfbe
mov byte [ebp - 0x219], bl
jmp 0x1c3c026
mov eax, dword [ebp - 0x23c]
push 0x104
push eax
push edi
call fcn.01c9cc1c
add esp, 0xc
test eax, eax
je 0x1c3c2f1
push edi
call fcn.01ca0524
add esp, 4
cmp eax, 0x7ffffff8
jae 0x1c3c0b3
mov ebx, eax
cmp eax, 4
lea eax, [ebp - 0x224]
jbe 0x1c3bfb0
mov esi, ebx
or esi, 3
inc esi
js 0x1c3c0ae
lea eax, [esi + esi]
push eax
call fcn.01c86c86
add esp, 4
mov dword [ebp - 0x224], eax
or esi, 0x80000000
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x220], ebx
lea esi, [eax + ebx*2]
cmp eax, edi
seta dl
cmp esi, edi
setbe cl
or cl, dl
je 0x1c3c09f
test ebx, ebx
je 0x1c3c048
add ebx, ebx
push ebx
push edi
push eax
call fcn.01c8a630
add esp, 0xc
mov word [esi], 0
mov esi, dword [ebp + 0x10]
cmp byte [esi + 0xb], 0
js 0x1c3c30b
mov eax, dword [ebp - 0x21c]
mov dword [esi + 8], eax
movsd xmm0, qword [ebp - 0x224]
movsd qword [esi], xmm0
mov bl, 1
cmp byte [ebp - 0x231], 0
jns 0x1c3c088
push dword [ebp - 0x23c]
call fcn.01c86cb6
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.01c87bd3
mov eax, ebx
add esp, 0x234
pop esi
pop edi
pop ebx
pop ebp
ret
push str....._third_partylibc_srcinclude__stringchar_traits.h:222:_assertion__std::__is_pointer_in_range___s1____s1____n____s2__failed:_char_traits::copy:_source_and_destination_ranges_overlap_n
push 0x1ce99e6
call fcn.01cb3fe0
call fcn.01cb3190
lea ecx, [ebp - 0x224]
call fcn.01cb3170
lea esi, [eax - 1]
test cl, 1
jne 0x1c3c0d3
mov ecx, esi
and cl, 0x7f
mov byte [ebp - 0x231], cl
jmp 0x1c3c0d9
mov dword [ebp - 0x238], esi
mov word [edx + eax*2 - 2], 0
movsx ecx, byte [ebp - 0x231]
mov eax, ecx
test ecx, ecx
jns 0x1c3c0f3
mov eax, dword [ebp - 0x238]
shr ecx, 0x1f
test eax, eax
jne 0x1c3bf4b
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x23c]
mov dword [ebp - 0x240], eax
push eax
call fcn.01c5aca0
lea esi, [ebp - 0x218]
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
push str.LOCALAPPDATA
push esi
call fcn.01c3d570
add esp, 8
movsx eax, byte [esi + 0xb]
test eax, eax
jns 0x1c3c13d
mov eax, dword [ebp - 0x214]
test eax, eax
jne 0x1c3c1c8
xor eax, eax
push eax
xor ebx, ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x1c3c194
mov edi, eax
inc edi
mov ecx, esi
push 0
push edi
call fcn.01c667b0
cmp byte [ebp - 0x20d], 0
jns 0x1c3c171
mov esi, dword [ebp - 0x218]
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x1c3c192
movsx ecx, byte [ebp - 0x20d]
test ecx, ecx
jns 0x1c3c18e
mov ecx, dword [ebp - 0x214]
cmp eax, ecx
jb 0x1c3c1ba
xor ebx, ebx
cmp byte [ebp - 0x20d], 0
jns 0x1c3c1ab
push dword [ebp - 0x218]
call fcn.01c86cb6
add esp, 4
test bl, bl
jne 0x1c3bf86
xor ebx, ebx
jmp 0x1c3c071
lea ecx, [ebp - 0x218]
push 0
push eax
call fcn.01c667b0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x234]
mov esi, dword [ebp - 0x210]
mov dword [ebp - 0x234], esi
movsd xmm0, qword [ebp - 0x218]
movsd qword [ebp - 0x23c], xmm0
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x210], edx
movsx ecx, byte [ebp - 0x231]
mov eax, ecx
test ecx, ecx
jns 0x1c3c21b
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x1c3c334
test cl, cl
jns 0x1c3c233
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x240], ecx
mov ecx, dword [ebp - 0x240]
cmp word [ecx + eax*2 - 2], 0x5c
je 0x1c3c24e
lea ecx, [ebp - 0x23c]
push 0x5c
call fcn.01c66610
lea edi, [ebp - 0x23c]
push edi
push 1
push dword [ebp + 0xc]
call fcn.01c3ce20
add esp, 0xc
mov ecx, edi
push 0x5c
call fcn.01c66610
mov ecx, edi
push 9
push str.User_Data
call fcn.01c66260
mov bl, 1
jmp 0x1c3c194
lea eax, [ebp - 0x224]
lea ecx, [ebp - 0x230]
push eax
push ecx
jmp 0x1c3c29e
lea eax, [ebp - 0x230]
lea ecx, [ebp - 0x224]
push ecx
push eax
call fcn.01ccde90
add esp, 8
cmp byte [ebp - 0x231], 0
jns 0x1c3c2bd
push dword [ebp - 0x23c]
call fcn.01c86cb6
add esp, 4
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x234], eax
movsd xmm0, qword [ebp - 0x230]
movsd qword [ebp - 0x23c], xmm0
jmp 0x1c3bf03
push dword [ebp - 0x224]
call fcn.01c86cb6
add esp, 4
jmp 0x1c3bf10
xorps xmm0, xmm0
movsd qword [ebp - 0x224], xmm0
mov dword [ebp - 0x21c], 0
jmp 0x1c3c04d
push dword [esi]
call fcn.01c86cb6
add esp, 4
jmp 0x1c3c05a
mov ecx, dword [eax + 8]
mov dword [ebp - 0x234], ecx
movsd xmm0, qword [eax]
movsd qword [ebp - 0x23c], xmm0
jmp 0x1c3be19
push str....._third_partylibc_srcinclude_string:1249:_assertion___pos___size___failed:_string_index_out_of_bounds_n
jmp 0x1c3c0a4