Function at 0x1018390
Capabilities:
Get common file path

Disassembly:
push 0xc0
mov eax, 0x101ca93
call fcn.01019f65
mov ebx, ecx
mov edi, 0xc9
push edi
push dword [ebx]
call dword [sym.imp.USER32.dll_LoadMenuW]
push eax
push dword [ebx + 4]
mov dword [ebx + 0x3cc], eax
call dword [sym.imp.USER32.dll_SetMenu]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0xca
push dword [ebx + 4]
call esi
push edi
push dword [ebx + 4]
mov dword [ebx + 0x14], eax
call esi
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0xa0]
push ecx
mov dword [ebx + 0x10], eax
xor eax, eax
push eax
push 0x1061
push dword [ebx + 0x14]
mov dword [ebp - 0xa0], 0x26
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], 0x10016f0
mov dword [ebp - 0x84], eax
call edi
push 0xd0
push dword [ebx + 4]
call esi
push 0xcb
push dword [ebx + 4]
mov dword [ebx + 0x378], eax
call esi
push 0xcc
push dword [ebx + 4]
mov dword [ebx + 0x37c], eax
call esi
push 0xcd
push dword [ebx + 4]
mov dword [ebx + 0x380], eax
call esi
push 0xd1
push dword [ebx + 4]
mov dword [ebx + 0x384], eax
call esi
push 3
push dword [ebx + 4]
mov dword [ebx + 0x388], eax
call esi
push 5
push dword [ebx + 4]
mov dword [ebx + 0x38c], eax
call esi
push 4
push dword [ebx + 4]
mov dword [ebx + 0x390], eax
call esi
mov dword [ebx + 0x394], eax
lea eax, [ebx + 0x16c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea ecx, [ebx + 8]
call sub.MFC42u.dll_CString::Empty
push 0x420
xor esi, esi
push esi
push 0x1036
push dword [ebx + 0x14]
mov dword [ebx + 0x64], esi
call edi
lea ecx, [ebx + 0x5c]
call sub.MFC42u.dll_CString::Empty
lea ecx, [ebx + 0x60]
call sub.MFC42u.dll_CString::Empty
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x30], esi
push esi
push esi
push esi
push esi
lea eax, [ebx + 0x34]
push eax
call dword [sym.imp.USER32.dll_SetRect]
xor eax, eax
inc eax
push eax
push esi
push 0x445
push dword [ebx + 0x37c]
mov dword [ebx + 0x18], 0x21
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x374], eax
call edi
push esi
push 1
push 0x459
push dword [ebx + 0x37c]
call edi
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x64]
push eax
push dword [ebx + 0x388]
call esi
lea eax, [ebp - 0x34]
push eax
push dword [ebx + 0x390]
call esi
lea eax, [ebp - 0x54]
push eax
push dword [ebx + 0x38c]
call esi
lea eax, [ebp - 0x44]
push eax
push dword [ebx + 0x394]
call esi
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x64]
sub ecx, dword [ebp - 0x34]
cmp eax, ecx
jle 0x101855f
lea esi, [ebp - 0x64]
lea edi, [ebp - 0x34]
jmp 0x1018565
lea esi, [ebp - 0x34]
lea edi, [ebp - 0x64]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x54]
movsd dword es:[edi], dword [esi]
cmp ecx, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jle 0x1018581
lea esi, [ebp - 0x54]
lea edi, [ebp - 0x44]
jmp 0x1018587
lea esi, [ebp - 0x44]
lea edi, [ebp - 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
inc esi
push esi
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebx + 0x388]
call fcn.0101482b
push esi
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebx + 0x390]
call fcn.0101482b
push esi
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebx + 0x38c]
call fcn.0101482b
push esi
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebx + 0x394]
call fcn.0101482b
xor esi, esi
mov edi, 0x10016f0
push edi
lea ecx, [ebp - 0x14]
mov dword [ebx + 0x398], esi
mov dword [ebx + 0x39c], esi
mov dword [ebx + 0x3a0], esi
call sub.MFC42u.dll_CString::CString_1
push eax
lea ecx, [ebx + 0x3ac]
mov dword [ebp - 4], esi
call fcn.01019552
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.01019576
mov ecx, ebx
mov dword [ebx + 0x3b0], esi
mov dword [ebx + 0x3a4], esi
mov dword [ebx + 0x3a8], esi
call fcn.01016a6a
mov ecx, ebx
call fcn.010148f3
lea ecx, [ebx + 0x3b8]
push edi
mov dword [ebx + 0x168], esi
call fcn.01019546
lea ecx, [ebx + 0x3bc]
push edi
call fcn.01019546
push edi
lea ecx, [ebx + 0x3c0]
call fcn.01019546
push 0x24
mov dword [ebx + 0x3c8], esi
mov dword [ebx + 0x3c4], esi
mov dword [ebx + 0x1c], esi
call sub.MFC42u.dll_operatornew
pop ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 1
cmp eax, esi
je 0x1018686
mov ecx, eax
call fcn.0100ad83
mov dword [ebp - 0x10], eax
jmp 0x1018689
mov dword [ebp - 0x10], esi
mov ecx, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp ecx, esi
je 0x10186ae
push dword [ebx + 4]
mov eax, dword [ecx]
push edi
call dword [eax + 8]
test eax, eax
jge 0x1018803
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebx + 0x1c], esi
lea eax, [ebx + 0x3bc]
mov ecx, dword [eax]
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x28], esi
cmp dword [ecx - 8], esi
je 0x10186d0
push eax
lea ecx, [ebx + 0x3b8]
call fcn.01019552
mov ecx, dword [ebx + 0x3b8]
cmp dword [ecx - 8], esi
je 0x101870f
mov eax, ecx
lea edi, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, si
jne 0x10186e0
sub eax, edi
sar eax, 1
dec eax
cmp eax, esi
jl 0x101870f
cmp word [ecx + eax*2], 0x2e
je 0x10186fd
dec eax
jns 0x10186f3
cmp eax, esi
jl 0x101870f
inc eax
push eax
push ecx
mov ecx, ebx
call fcn.010179e0
cmp eax, esi
jge 0x101871e
mov eax, dword [ebx + 0x1c]
cmp eax, esi
je 0x101871e
push eax
mov ecx, ebx
call fcn.01016b32
push 0xd1
push dword [0x1026830]
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov dword [ebx + 0x3d0], eax
xor eax, eax
mov dword [ebp - 0x74], esi
lea edi, [ebp - 0x70]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0xc8]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x32
pop eax
push esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x74]
push eax
push esi
push 0x30
mov dword [ebp - 0x1c], 0x258
mov dword [ebp - 0x18], 0x1c2
mov dword [ebp - 0xcc], 0x2c
mov dword [ebp - 0xc4], esi
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
je 0x10187ac
mov eax, dword [ebp - 0x6c]
cmp eax, 0x28a
jle 0x101879c
add eax, 0xffffffce
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x68]
cmp eax, 0x1f4
jle 0x10187ac
add eax, 0xffffffce
mov dword [ebp - 0x18], eax
lea esi, [ebp - 0x24]
lea edi, [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xcc]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebx + 4]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_SetWindowPlacement]
push 0x18f
push dword [ebx]
call dword [sym.imp.USER32.dll_LoadIconW]
mov esi, eax
test esi, esi
je 0x10187f9
push esi
push 0xffffffffffffffde
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetClassLongW]
push esi
push 0
push 0x80
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
call fcn.0101a051
ret 0x10
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x1c], eax
jmp 0x10186b1