Function at 0x44d464
Capabilities:
Get common file path

Disassembly:
sub esp, 0x48c
mov eax, dword [0x47e5d0]
xor eax, esp
mov dword [esp + 0x488], eax
push ebp
push esi
mov esi, dword [esp + 0x498]
push edi
push 0x3ff
xor ebp, ebp
lea eax, [esp + 0x99]
push ebp
push eax
mov byte [esp + 0xa0], 0
call fcn.00452e00
push 0x3f
lea eax, [esp + 0x65]
push ebp
push eax
mov byte [esp + 0x6c], 0
call fcn.00452e00
add esp, 0x18
xor eax, eax
push 7
pop ecx
mov byte [esp + 0x14], 0
lea edi, [esp + 0x15]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
push 7
mov byte [esp + 0x38], 0
pop ecx
lea edi, [esp + 0x35]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x485564]
mov dword [esp + 0xc], ebp
cmp eax, ebp
jne 0x44d4ee
xor eax, eax
jmp 0x44d993
mov edi, dword [sym.imp.USER32.dll_GetWindowLongA]
push ebx
test eax, 0x200
je 0x44d58b
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x400000
jne 0x44d51c
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x44db9d
mov ebx, dword [sym.imp.USER32.dll_IsWindowVisible]
push esi
call ebx
test eax, eax
je 0x44db9d
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x44db9d
cmp esi, ebp
je 0x44db9d
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x44db9d
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x10000000
je 0x44db9d
push esi
call ebx
test eax, eax
je 0x44db9d
push esi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x44db9d
push 6
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x44db9d
test eax, 0x400
je 0x44d63c
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x400000
jne 0x44d5b2
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x44db9d
mov ebx, dword [sym.imp.USER32.dll_IsWindowVisible]
push esi
call ebx
test eax, eax
je 0x44db9d
mov edi, dword [sym.imp.USER32.dll_GetParent]
push esi
call edi
test eax, eax
jne 0x44db9d
cmp esi, ebp
je 0x44db9d
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x44db9d
push esi
call ebx
test eax, eax
je 0x44db9d
push esi
call edi
test eax, eax
jne 0x44db9d
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
call ebx
cmp esi, eax
je 0x44db9d
push esi
call edi
mov edi, eax
call ebx
cmp edi, eax
je 0x44db9d
cmp esi, dword [0x485728]
je 0x44db9d
push 0xfa
push esi
call fcn.0044c5b3
jmp 0x44db9d
mov ebp, 0x400000
mov ebx, 0x40000
test eax, 0x1000
je 0x44d677
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x44d663
push 0xfffffffffffffff0
push esi
call edi
test ebx, eax
je 0x44db9d
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x44db9d
mov eax, dword [0x485564]
test eax, 0x2000
je 0x44d6b7
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x44d694
push 0xfffffffffffffff0
push esi
call edi
test ebx, eax
je 0x44db9d
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x44db9d
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x44db9d
mov eax, dword [0x485564]
test eax, 0x100
lea eax, [esp + 0x14]
push eax
push 0x64
push 0
je 0x44d834
mov ebx, 0x485460
push ebx
push 0xff
push 0xd
push esi
call dword [sym.imp.USER32.dll_SendMessageTimeoutA]
push 0x3f
lea eax, [esp + 0x5c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClassNameA]
test esi, esi
je 0x44db9d
test dword [0x485564], 0x3000
mov byte [0x485544], 0
jne 0x44d7a1
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x44d721
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x44d734
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [esp + 0x10], 0x464a50
test eax, eax
jne 0x44d73c
mov dword [esp + 0x10], 0x46f994
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x44d751
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x44d76c
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x44d76c
push esi
call dword [sym.imp.USER32.dll_GetParent]
mov ebp, 0x46f948
test eax, eax
je 0x44d771
mov ebp, 0x464a50
push 0xfffffffffffffff8
push esi
call edi
push eax
push esi
push 0xfffffffffffffff4
push esi
call edi
push eax
lea eax, [esp + 0x64]
push eax
push ebx
push dword [esp + 0x24]
lea eax, [esp + 0xb0]
push ebp
push str._s_s__s__t_t_t_Class:__s__ID:__li__HWND:_0x_x__Parent:_0x_x__r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x24
jmp 0x44d7c5
cmp byte [0x485460], 0
je 0x44db9d
push ebx
lea eax, [esp + 0x9c]
push str._s_r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push ebx
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
call esi
cmp byte [eax + 0x48545f], 0x5c
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
je 0x44d7f1
push 0x4648e0
push ebx
call edi
push str.vtask_window_list.txt
push ebx
call edi
push 0
push 0
push 0x466830
push 0x46493c
lea eax, [esp + 0xa8]
push eax
call fcn.0044923e
lea eax, [esp + 0x98]
push eax
call esi
push eax
lea eax, [esp + 0x9c]
push eax
push 0xffffffffffffffff
push ebx
call fcn.00413f55
jmp 0x44db9d
lea eax, [esp + 0xa4]
push eax
push 0xff
push 0xd
push esi
call dword [sym.imp.USER32.dll_SendMessageTimeoutA]
push 0
push 1
push 0x464a50
push 0x468d40
lea eax, [esp + 0xa8]
push eax
call fcn.0044923e
push 0x3f
lea eax, [esp + 0x5c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClassNameA]
push 0xfffffffffffffff4
push esi
call edi
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
push eax
mov ebx, 0x46b67c
lea eax, [esp + 0x1c]
push ebx
push eax
call ebp
add esp, 0xc
push 0xffffffffffffffeb
push esi
call edi
push eax
lea eax, [esp + 0x3c]
push ebx
push eax
call ebp
add esp, 0xc
test byte [0x485564], 2
je 0x44d8ef
mov ebx, 0x485670
push ebx
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x44d8ef
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
call ebp
cmp byte [eax + 0x48566f], 0x2a
jne 0x44db9d
push ebx
call ebp
dec eax
push eax
lea eax, [esp + 0x5c]
push ebx
push eax
call fcn.00452ccd
add esp, 0xc
test eax, eax
jne 0x44db9d
test byte [0x485564], 4
je 0x44d910
push 0x4856b0
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x44db9d
test byte [0x485564], 8
je 0x44d931
push 0x4856d0
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x44db9d
mov bl, byte [0x485564]
test bl, 0x10
je 0x44d94f
push 0x4856f0
call fcn.0040109c
pop ecx
cmp eax, esi
jne 0x44db9d
test bl, 0x21
je 0x44d990
cmp byte [esp + 0x98], 0
je 0x44db9d
cmp byte [0x485568], 0
je 0x44d9ad
push 0x485568
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x44db9d
mov dword [0x485710], 1
mov eax, esi
pop ebx
mov ecx, dword [esp + 0x494]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.00452dee
add esp, 0x48c
ret 8
push 0xfffffffffffffff0
push esi
call edi
mov ebp, 0x400000
mov ebx, 0x485460
test ebp, eax
jne 0x44d9cc
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x44d9ff
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x44d9ff
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x44d9ff
push ebx
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x44d9ff
inc eax
mov dword [0x485710], eax
mov dword [esp + 0x10], eax
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x44da14
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x44da46
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x44da46
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x44da46
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.004526d0
pop ecx
pop ecx
test eax, eax
je 0x44da46
mov dword [esp + 0x10], 1
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x44da5b
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x44da8d
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x44da8d
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x44da8d
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x44da8d
mov dword [esp + 0x10], 1
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x44daa2
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x44daca
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x44daca
push ebx
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x44daca
inc eax
mov dword [0x485710], eax
mov dword [esp + 0x10], eax
push ebx
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x44dae7
inc eax
mov dword [0x485710], eax
mov dword [esp + 0x10], eax
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x44dafc
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x44db24
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x44db24
push ebx
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x44db24
inc eax
mov dword [0x485710], eax
mov dword [esp + 0x10], eax
push ebx
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x44db41
inc eax
mov dword [0x485710], eax
mov dword [esp + 0x10], eax
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x44db56
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x44db7a
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x44db7a
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x44db7a
xor edi, edi
inc edi
jmp 0x44db7e
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x44db95
xor edi, edi
inc edi
test edi, edi
jne 0x44d990
xor eax, eax
jmp 0x44d992