Function at 0x4439d4
Capabilities:
Get common file path

Disassembly:
sub esp, 0x48c
mov eax, dword [0x4705d0]
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.004464f0
push 0x3f
lea eax, [esp + 0x65]
push ebp
push eax
mov byte [esp + 0x6c], 0
call fcn.004464f0
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 [0x477714]
mov dword [esp + 0xc], ebp
cmp eax, ebp
jne 0x443a5e
xor eax, eax
jmp 0x443f06
mov edi, dword [sym.imp.USER32.dll_GetWindowLongA]
push ebx
test eax, 0x200
je 0x443afb
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x400000
jne 0x443a8c
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x444110
mov ebx, dword [sym.imp.USER32.dll_IsWindowVisible]
push esi
call ebx
test eax, eax
je 0x444110
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x444110
cmp esi, ebp
je 0x444110
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x444110
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x10000000
je 0x444110
push esi
call ebx
test eax, eax
je 0x444110
push esi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x444110
push 6
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x444110
test eax, 0x400
je 0x443bac
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x400000
jne 0x443b22
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x444110
mov ebx, dword [sym.imp.USER32.dll_IsWindowVisible]
push esi
call ebx
test eax, eax
je 0x444110
mov edi, dword [sym.imp.USER32.dll_GetParent]
push esi
call edi
test eax, eax
jne 0x444110
cmp esi, ebp
je 0x444110
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x444110
push esi
call ebx
test eax, eax
je 0x444110
push esi
call edi
test eax, eax
jne 0x444110
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
call ebx
cmp esi, eax
je 0x444110
push esi
call edi
mov edi, eax
call ebx
cmp edi, eax
je 0x444110
cmp esi, dword [0x4778d8]
je 0x444110
push 0xfa
push esi
call fcn.00442ad6
jmp 0x444110
mov ebx, 0x400000
mov ebp, 0x40000
test eax, 0x1000
je 0x443be7
push 0xfffffffffffffff0
push esi
call edi
test ebx, eax
jne 0x443bd3
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
je 0x444110
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x444110
mov eax, dword [0x477714]
test eax, 0x2000
je 0x443c27
push 0xfffffffffffffff0
push esi
call edi
test ebx, eax
jne 0x443c04
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
je 0x444110
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x444110
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x444110
mov eax, dword [0x477714]
test eax, 0x100
lea eax, [esp + 0x14]
push eax
push 0x64
push 0
je 0x443da7
push 0x477610
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 0x444110
test dword [0x477714], 0x3000
mov byte [0x477790], 0
jne 0x443d0f
push 0xfffffffffffffff0
push esi
call edi
test ebx, eax
jne 0x443c8d
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
je 0x443ca0
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [esp + 0x10], 0x4597fe
test eax, eax
jne 0x443ca8
mov dword [esp + 0x10], 0x463994
push 0xfffffffffffffff0
push esi
call edi
test ebx, eax
jne 0x443cba
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
je 0x443cd5
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x443cd5
push esi
call dword [sym.imp.USER32.dll_GetParent]
mov ebp, str._r_n_r_n
test eax, eax
je 0x443cda
mov ebp, 0x4597fe
push 0xfffffffffffffff8
push esi
call edi
push eax
push esi
push 0xfffffffffffffff4
push esi
call edi
push eax
lea eax, [esp + 0x64]
push eax
mov ebx, 0x477610
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 0x443d38
cmp byte [0x477610], 0
je 0x444110
mov ebx, 0x477610
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 + 0x47760f], 0x5c
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
je 0x443d64
push 0x45a954
push ebx
call edi
push str.vtask_window_list.txt
push ebx
call edi
push 0
push 0
push 0x45b320
push 0x459858
lea eax, [esp + 0xa8]
push eax
call fcn.0043fa75
lea eax, [esp + 0x98]
push eax
call esi
push eax
lea eax, [esp + 0x9c]
push eax
push 0xffffffffffffffff
push ebx
call fcn.0040f973
jmp 0x444110
lea eax, [esp + 0xa4]
push eax
push 0xff
push 0xd
push esi
call dword [sym.imp.USER32.dll_SendMessageTimeoutA]
push 0
push 1
push 0x4597fe
push 0x45d508
lea eax, [esp + 0xa8]
push eax
call fcn.0043fa75
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, 0x45f8e4
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 [0x477714], 2
je 0x443e62
mov ebx, 0x477820
push ebx
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x443e62
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
call ebp
cmp byte [eax + 0x47781f], 0x2a
jne 0x444110
push ebx
call ebp
dec eax
push eax
lea eax, [esp + 0x5c]
push ebx
push eax
call fcn.00446461
add esp, 0xc
test eax, eax
jne 0x444110
test byte [0x477714], 4
je 0x443e83
push 0x477860
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x444110
test byte [0x477714], 8
je 0x443ea4
push 0x477880
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x444110
mov bl, byte [0x477714]
test bl, 0x10
je 0x443ec2
push 0x4778a0
call fcn.0040109c
pop ecx
cmp eax, esi
jne 0x444110
test bl, 0x21
je 0x443f03
cmp byte [esp + 0x98], 0
je 0x444110
cmp byte [0x477718], 0
je 0x443f20
push 0x477718
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x444110
mov dword [0x4778c0], 1
mov eax, esi
pop ebx
mov ecx, dword [esp + 0x494]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.004464bf
add esp, 0x48c
ret 8
push 0xfffffffffffffff0
push esi
call edi
mov ebp, 0x400000
mov ebx, 0x477610
test ebp, eax
jne 0x443f3f
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x443f72
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x443f72
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x443f72
push ebx
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x443f72
inc eax
mov dword [0x4778c0], eax
mov dword [esp + 0x10], eax
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x443f87
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x443fb9
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x443fb9
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x443fb9
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.00445d80
pop ecx
pop ecx
test eax, eax
je 0x443fb9
mov dword [esp + 0x10], 1
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x443fce
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x444000
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x444000
push esi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x444000
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x444000
mov dword [esp + 0x10], 1
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x444015
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x44403d
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x44403d
push ebx
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x44403d
inc eax
mov dword [0x4778c0], 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 0x44405a
inc eax
mov dword [0x4778c0], eax
mov dword [esp + 0x10], eax
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x44406f
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x444097
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x444097
push ebx
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x444097
inc eax
mov dword [0x4778c0], 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 0x4440b4
inc eax
mov dword [0x4778c0], eax
mov dword [esp + 0x10], eax
push 0xfffffffffffffff0
push esi
call edi
test ebp, eax
jne 0x4440c9
push 0xfffffffffffffff0
push esi
call edi
test eax, 0x40000
je 0x4440ed
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4440ed
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4440ed
xor edi, edi
inc edi
jmp 0x4440f1
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x444108
xor edi, edi
inc edi
test edi, edi
jne 0x443f03
xor eax, eax
jmp 0x443f05