Function at 0x45b4e3
Capabilities:
Get common file path

Disassembly:
push 0x398
mov eax, 0x4decad
call fcn.004b544d
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2cc], esi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x2b4], ebx
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
jne 0x45b52d
push 0x50ea8c
mov ecx, esi
call fcn.0044bc85
mov dword [ebp - 4], ebx
mov dword [ebp - 0x2b4], 1
mov eax, esi
jmp 0x45b833
xor ebx, ebx
inc ebx
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x2b0]
call fcn.004a9fe9
mov byte [ebp - 4], 2
push 0
lea ecx, [ebp - 0x2e4]
call fcn.004a9f53
mov byte [ebp - 4], 3
push str.installer_prefs.json
push edi
lea eax, [ebp - 0x2c4]
push eax
call fcn.00445250
add esp, 0xc
mov byte [ebp - 4], 4
push ebx
push 0x40
push 0x20
push dword [ebp - 0x2c4]
lea ecx, [ebp - 0x3a0]
call fcn.0045ac47
mov byte [ebp - 4], 5
push ebx
lea eax, [ebp - 0x2e4]
push eax
lea eax, [ebp - 0x3a0]
push eax
lea ecx, [ebp - 0x2b0]
call fcn.004ae288
test al, al
jne 0x45b5f6
push 0x50ea8c
mov ecx, esi
call fcn.0044bc85
mov dword [ebp - 0x2b4], ebx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x3a0]
call fcn.0044ea34
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c4]
call fcn.0040d610
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2e4]
call fcn.004aa6b7
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x2b0]
call fcn.0045984e
jmp 0x45b526
lea ecx, [ebp - 0x2e4]
call fcn.004a5d20
test al, al
je 0x45b5a4
push dword [0x535dc8]
lea ecx, [ebp - 0x2e4]
call fcn.004ab9cb
test al, al
je 0x45b5a4
lea ecx, [ebp - 0x2bc]
call fcn.0040c7d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2b8]
call fcn.0040c7d0
mov byte [ebp - 4], 7
push 0
lea ecx, [ebp - 0x2fc]
call fcn.004a6453
mov byte [ebp - 4], 8
lea eax, [ebp - 0x2fc]
push eax
push dword [0x535dc8]
lea eax, [ebp - 0x314]
push eax
lea ecx, [ebp - 0x2e4]
call fcn.004ad624
mov byte [ebp - 4], 9
mov ecx, eax
call fcn.004ab692
mov byte [ebp - 0x2bd], al
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x314]
call fcn.004aa6b7
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2fc]
call fcn.004aa6b7
cmp byte [ebp - 0x2bd], 0
je 0x45b756
push str.profiledata
push edi
lea eax, [ebp - 0x2c8]
push eax
call fcn.00445250
add esp, 0xc
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x2bc]
call fcn.00446840
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c8]
call fcn.0040d610
push 0x535dc0
lea eax, [ebp - 0x2bc]
push eax
lea eax, [ebp - 0x2c8]
push eax
call fcn.0044c439
add esp, 0xc
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x2b8]
call fcn.00446840
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c8]
call fcn.0040d610
mov eax, dword [ebp - 0x2b8]
xor edi, edi
cmp dword [eax - 0xc], edi
je 0x45b758
mov ecx, esi
lea eax, [ebp - 0x2b8]
push eax
call fcn.004420c1
mov dword [ebp - 0x2b4], ebx
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2b8]
call fcn.0040d610
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2bc]
call fcn.0040d610
jmp 0x45b5b6
xor edi, edi
lea eax, [ebp - 0x21c]
push eax
push edi
push edi
push 0x1a
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp eax, edi
je 0x45b77c
mov ecx, esi
push 0x50ea8c
call fcn.0044bc85
jmp 0x45b72d
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x2bc]
call fcn.00428d50
push 0x4fba60
lea ecx, [ebp - 0x2bc]
call fcn.00444b0f
push 0x535dc0
lea eax, [ebp - 0x2bc]
push eax
lea eax, [ebp - 0x2c8]
push eax
call fcn.0044c439
add esp, 0xc
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x2b8]
call fcn.00446840
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c8]
call fcn.0040d610
mov eax, dword [ebp - 0x2b8]
mov ecx, esi
cmp dword [eax - 0xc], edi
jne 0x45b721
jmp 0x45b770
call fcn.004b54a9
ret