Function at 0x10182de
Capabilities:
Get common file path

Disassembly:
push 0xc0
mov eax, 0x101c9b5
call fcn.01019e99
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 0x10184ad
lea esi, [ebp - 0x64]
lea edi, [ebp - 0x34]
jmp 0x10184b3
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 0x10184cf
lea esi, [ebp - 0x54]
lea edi, [ebp - 0x44]
jmp 0x10184d5
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.01014779
push esi
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebx + 0x390]
call fcn.01014779
push esi
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebx + 0x38c]
call fcn.01014779
push esi
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebx + 0x394]
call fcn.01014779
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.01019486
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.010194aa
mov ecx, ebx
mov dword [ebx + 0x3b0], esi
mov dword [ebx + 0x3a4], esi
mov dword [ebx + 0x3a8], esi
call fcn.010169b8
mov ecx, ebx
call fcn.01014841
lea ecx, [ebx + 0x3b8]
push edi
mov dword [ebx + 0x168], esi
call fcn.0101947a
lea ecx, [ebx + 0x3bc]
push edi
call fcn.0101947a
push edi
lea ecx, [ebx + 0x3c0]
call fcn.0101947a
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 0x10185d4
mov ecx, eax
call fcn.0100ad62
mov dword [ebp - 0x10], eax
jmp 0x10185d7
mov dword [ebp - 0x10], esi
mov ecx, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp ecx, esi
je 0x10185fc
push dword [ebx + 4]
mov eax, dword [ecx]
push edi
call dword [eax + 8]
test eax, eax
jge 0x1018751
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 0x101861e
push eax
lea ecx, [ebx + 0x3b8]
call fcn.01019486
mov ecx, dword [ebx + 0x3b8]
cmp dword [ecx - 8], esi
je 0x101865d
mov eax, ecx
lea edi, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, si
jne 0x101862e
sub eax, edi
sar eax, 1
dec eax
cmp eax, esi
jl 0x101865d
cmp word [ecx + eax*2], 0x2e
je 0x101864b
dec eax
jns 0x1018641
cmp eax, esi
jl 0x101865d
inc eax
push eax
push ecx
mov ecx, ebx
call fcn.0101792e
cmp eax, esi
jge 0x101866c
mov eax, dword [ebx + 0x1c]
cmp eax, esi
je 0x101866c
push eax
mov ecx, ebx
call fcn.01016a80
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 0x10186fa
mov eax, dword [ebp - 0x6c]
cmp eax, 0x28a
jle 0x10186ea
add eax, 0xffffffce
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x68]
cmp eax, 0x1f4
jle 0x10186fa
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 0x1018747
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.01019f85
ret 0x10
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x1c], eax
jmp 0x10185ff