Function at 0x415a85
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov esi, ecx
push edi
xor ecx, ecx
push 1
mov dword [eax], ecx
pop eax
mov dword [0x488040], ecx
mov dword [0x48521c], eax
mov dword [esi + 0x1b8], eax
lea eax, [esi + 0xb8]
mov dword [0x484adc], ecx
mov dword [esi + 0x398], eax
mov eax, dword [esi + 0x37d0]
sub esp, 0x10
mov dword [esi + 0x8c0], eax
mov eax, esp
push 0x4814f8
push eax
call dword [sym.imp.USER32.dll_CopyRect]
push dword [esi + 4]
lea ebx, [esi + 0x228]
mov ecx, ebx
mov dword [ebp + 0x14], ebx
call fcn.00446670
lea edi, [esi + 0x2e8]
lea ecx, [esi + 0x2ec]
mov eax, edi
mov dword [esi + 0x37b8], edi
neg eax
sbb eax, eax
push 0
push dword [esi + 4]
and eax, ecx
mov eax, dword [eax]
mov dword [esi + 0x371c], ebx
lea ebx, [esi + 0x358c]
mov dword [esi + 0x37e8], eax
mov ecx, ebx
call fcn.00416469
cmp dword [0x49305c], 0
je 0x415b5a
push dword [0x493054]
and dword [0x49305c], 0
push dword [esi + 0x37f8]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [0x493058]
push dword [esi + 0x37fc]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [esi + 4]
push dword [esi + 0x37d0]
mov ecx, dword [ebp + 0x14]
mov dword [esi + 0x39c], eax
mov dword [esi + 0x8e4], ebx
call fcn.004470fd
mov ecx, edi
call fcn.00443e42
neg ebx
mov ecx, dword [ebp + 0x14]
lea eax, [esi + 0x3590]
sbb ebx, ebx
and ebx, eax
push dword [ebx]
call fcn.00446c40
mov ebx, dword [ebp + 0x14]
lea edi, [esi + 0x22c]
neg ebx
sbb ebx, ebx
and ebx, edi
push dword [ebx]
push dword [esi + 0x3590]
call dword [sym.imp.USER32.dll_SetParent]
push 0xffffffffffffffec
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
or ecx, 0x10000
cmp eax, ecx
je 0x415bd2
push ecx
push 0xffffffffffffffec
push dword [edi]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0x403
lea ecx, [esi + 0xb8]
push dword [esi + 4]
call fcn.0046237e
mov dword [esi + 0x38], eax
mov eax, dword [esi + 4]
cmp dword [0x482ba0], 0
mov dword [ebp - 8], eax
lea edi, [esi + 0x3c]
jne 0x415c01
and dword [0x482ba0], 0
lea eax, [edi + 0x1c]
push eax
push 0x482b70
push 0x496340
call fcn.0040cdd7
xor ecx, ecx
push ecx
push eax
push ecx
push ecx
push 0x54000000
push ecx
push 0x4814f8
mov ecx, edi
push dword [ebp - 8]
call fcn.0040cf8d
neg edi
lea eax, [esi + 0x40]
sbb edi, edi
and edi, eax
mov dword [ebp - 8], edi
push dword [edi]
push dword [esi + 0x38]
call dword [sym.imp.USER32.dll_SetParent]
mov eax, dword [esi + 0x38]
lea edi, [esi + 0x5c]
mov ecx, edi
mov dword [edi], eax
call fcn.0041671a
mov eax, dword [ebp - 8]
push dword [eax]
push dword [ebx]
call dword [sym.imp.USER32.dll_SetParent]
mov eax, dword [ebx]
mov ecx, edi
mov dword [edi + 4], eax
call fcn.0041671a
mov eax, 0x7d0
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push 0x482b68
push str.TreeSplitter
mov dword [esi + 0x98], eax
call fcn.00447ee1
add esp, 0x14
mov ecx, edi
mov dword [esi + 0x98], eax
push 1
push 0
call fcn.00416505
push 0xffffffffffffffec
push dword [esi + 0x40]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
or ecx, 0x10000
cmp eax, ecx
je 0x415cc4
push ecx
push 0xffffffffffffffec
push dword [esi + 0x40]
call dword [sym.imp.USER32.dll_SetWindowLongW]
lea ecx, [ebp - 4]
xor eax, eax
push ecx
push eax
push eax
mov dword [ebp - 4], eax
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov dword [esi + 0x1bc], 1
mov eax, dword [0x48521c]
and dword [0x488040], 0
mov ecx, edi
neg eax
sbb eax, eax
and al, 0xfe
inc eax
push eax
call fcn.00416567
cmp dword [0x48521c], 0
je 0x415d11
push dword [ebp - 4]
lea ecx, [esi + 0xb8]
call fcn.0046245b
lea edi, [esi + 0x3590]
push 5
push dword [edi]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0xffffffffffffffec
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
or ecx, 0x10000
cmp eax, ecx
je 0x415d42
push ecx
push 0xffffffffffffffec
push dword [edi]
call dword [sym.imp.USER32.dll_SetWindowLongW]
xor eax, eax
push 1
push eax
push eax
push eax
push eax
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [ebx]
mov ecx, dword [ebp + 0x14]
mov dword [esi + 0x30], eax
lea eax, [esi + 0xb8]
mov dword [esi + 0x398], eax
mov eax, dword [ebx]
mov dword [esi + 0x3818], eax
call fcn.00446525
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 0x10