Function at 0x44565a
Capabilities:
Get common file path

Disassembly:
sub esp, 0x48c
mov eax, dword [0x4755d0]
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.00448090
push 0x3f
lea eax, [esp + 0x65]
push ebp
push eax
mov byte [esp + 0x6c], 0
call fcn.00448090
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 [0x47c5a4]
mov dword [esp + 0xc], ebp
cmp eax, ebp
jne 0x4456e4
xor eax, eax
jmp 0x445b89
mov edi, dword [sym.imp.USER32.dll_GetWindowLongA]
push ebx
test eax, 0x200
je 0x445781
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x400000
jne 0x445712
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x445d93
mov ebx, dword [sym.imp.USER32.dll_IsWindowVisible]
push esi
call ebx
test eax, eax
je 0x445d93
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x445d93
cmp esi, ebp
je 0x445d93
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x445d93
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x10000000
je 0x445d93
push esi
call ebx
test eax, eax
je 0x445d93
push esi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x445d93
push 6
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x445d93
test eax, 0x400
je 0x445832
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x400000
jne 0x4457a8
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x445d93
mov ebx, dword [sym.imp.USER32.dll_IsWindowVisible]
push esi
call ebx
test eax, eax
je 0x445d93
mov edi, dword [sym.imp.USER32.dll_GetParent]
push esi
call edi
test eax, eax
jne 0x445d93
cmp esi, ebp
je 0x445d93
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x445d93
push esi
call ebx
test eax, eax
je 0x445d93
push esi
call edi
test eax, eax
jne 0x445d93
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
call ebx
cmp esi, eax
je 0x445d93
push esi
call edi
mov edi, eax
call ebx
cmp edi, eax
je 0x445d93
cmp esi, dword [0x47c768]
je 0x445d93
push 0xfa
push esi
call fcn.004447a9
jmp 0x445d93
mov ebp, 0x400000
mov ebx, 0x40000
test eax, 0x1000
je 0x44586d
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x445859
push 0xfffffffffffffff0
push esi
call edi
test ebx, eax
je 0x445d93
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x445d93
mov eax, dword [0x47c5a4]
test eax, 0x2000
je 0x4458ad
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x44588a
push 0xfffffffffffffff0
push esi
call edi
test ebx, eax
je 0x445d93
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x445d93
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x445d93
mov eax, dword [0x47c5a4]
test eax, 0x100
lea eax, [esp + 0x14]
push eax
push 0x64
push 0
je 0x445a2a
mov ebx, 0x47c4a0
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 0x445d93
test dword [0x47c5a4], 0x3000
mov byte [0x47c584], 0
jne 0x445997
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x445917
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x44592a
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [esp + 0x10], 0x45c970
test eax, eax
jne 0x445932
mov dword [esp + 0x10], 0x467104
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x445947
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x445962
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x445962
push esi
call dword [sym.imp.USER32.dll_GetParent]
mov ebp, str._r_n_r_n
test eax, eax
je 0x445967
mov ebp, 0x45c970
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 0x4459bb
cmp byte [0x47c4a0], 0
je 0x445d93
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 + 0x47c49f], 0x5c
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
je 0x4459e7
push 0x45c800
push ebx
call edi
push str.vtask_window_list.txt
push ebx
call edi
push 0
push 0
push 0x45e480
push 0x45c85c
lea eax, [esp + 0xa8]
push eax
call fcn.0044168f
lea eax, [esp + 0x98]
push eax
call esi
push eax
lea eax, [esp + 0x9c]
push eax
push 0xffffffffffffffff
push ebx
call fcn.00410a5b
jmp 0x445d93
lea eax, [esp + 0xa4]
push eax
push 0xff
push 0xd
push esi
call dword [sym.imp.USER32.dll_SendMessageTimeoutA]
push 0
push 1
push 0x45c970
push 0x460868
lea eax, [esp + 0xa8]
push eax
call fcn.0044168f
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, 0x462d0c
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 [0x47c5a4], 2
je 0x445ae5
mov ebx, 0x47c6b0
push ebx
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x445ae5
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
call ebp
cmp byte [eax + 0x47c6af], 0x2a
jne 0x445d93
push ebx
call ebp
dec eax
push eax
lea eax, [esp + 0x5c]
push ebx
push eax
call fcn.0044802d
add esp, 0xc
test eax, eax
jne 0x445d93
test byte [0x47c5a4], 4
je 0x445b06
push 0x47c6f0
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x445d93
test byte [0x47c5a4], 8
je 0x445b27
push 0x47c710
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x445d93
mov bl, byte [0x47c5a4]
test bl, 0x10
je 0x445b45
push 0x47c730
call fcn.0040109c
pop ecx
cmp eax, esi
jne 0x445d93
test bl, 0x21
je 0x445b86
cmp byte [esp + 0x98], 0
je 0x445d93
cmp byte [0x47c5a8], 0
je 0x445ba3
push 0x47c5a8
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x445d93
mov dword [0x47c750], 1
mov eax, esi
pop ebx
mov ecx, dword [esp + 0x494]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.00448080
add esp, 0x48c
ret 8
push 0xfffffffffffffff0
push esi
call edi
mov ebp, 0x400000
mov ebx, 0x47c4a0
test ebp, eax
jne 0x445bc2
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x445bf5
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x445bf5
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x445bf5
push ebx
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x445bf5
inc eax
mov dword [0x47c750], eax
mov dword [esp + 0x10], eax
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x445c0a
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x445c3c
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x445c3c
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x445c3c
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.00447a30
pop ecx
pop ecx
test eax, eax
je 0x445c3c
mov dword [esp + 0x10], 1
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x445c51
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x445c83
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x445c83
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x445c83
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x445c83
mov dword [esp + 0x10], 1
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x445c98
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x445cc0
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x445cc0
push ebx
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x445cc0
inc eax
mov dword [0x47c750], 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 0x445cdd
inc eax
mov dword [0x47c750], eax
mov dword [esp + 0x10], eax
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x445cf2
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x445d1a
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x445d1a
push ebx
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x445d1a
inc eax
mov dword [0x47c750], 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 0x445d37
inc eax
mov dword [0x47c750], eax
mov dword [esp + 0x10], eax
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x445d4c
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x445d70
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x445d70
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x445d70
xor edi, edi
inc edi
jmp 0x445d74
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x445d8b
xor edi, edi
inc edi
test edi, edi
jne 0x445b86
xor eax, eax
jmp 0x445b88