Function at 0x4055b5
Capabilities:
Get common file path
Hide graphical window

Disassembly:
push 0x5c8
mov eax, 0x452fc8
call fcn.00442764
mov ebx, dword [ebp + 8]
mov esi, 0x46d37c
xor edi, edi
push esi
mov dword [ebp - 0x554], ebx
mov dword [ebp - 0x550], edi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
push esi
mov dword [0x46d3b4], ebx
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
lea eax, [ebp - 0x464]
call fcn.004023dd
mov dword [ebp - 4], edi
cmp dword [ebp - 0x44c], edi
je 0x40562d
cmp dword [ebp - 0x448], 8
mov eax, dword [ebp - 0x45c]
jae 0x405619
lea eax, [ebp - 0x45c]
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea eax, [ebp - 0x460]
push eax
call fcn.00402b38
lea eax, [ebp - 0x59c]
push eax
call fcn.00402337
lea esi, [ebp - 0x464]
mov byte [ebp - 4], 1
call fcn.004011e0
push edi
mov byte [ebp - 4], 0
mov ebx, vtable.TString.0
push 1
lea esi, [ebp - 0x598]
mov dword [ebp - 0x59c], ebx
call fcn.0040146e
cmp dword [ebp - 0x44c], edi
je 0x4057b5
lea eax, [ebp - 0x464]
lea edi, [ebp - 0x484]
call fcn.00401059
mov eax, edi
push eax
mov byte [ebp - 4], 2
call fcn.00408482
push str._DESTDIR_
lea eax, [ebp - 0x480]
push eax
call fcn.00407ab5
mov esi, eax
cmp esi, 0xffffffff
je 0x405768
lea ecx, [ebp - 0x57c]
call fcn.00401dbe
mov byte [ebp - 4], 3
test eax, eax
je 0x4056c2
lea edi, [eax + 4]
jmp 0x4056c4
xor edi, edi
push 0xffffffffffffffff
push str._DESTDIR__
call fcn.0043dffc
add eax, esi
pop ecx
push eax
lea eax, [ebp - 0x460]
push eax
lea esi, [ebp - 0x5b8]
call fcn.004012fd
push eax
lea eax, [ebp - 0x5d4]
push edi
push eax
mov byte [ebp - 4], 4
call fcn.0040369b
add esp, 0xc
push eax
lea edi, [ebp - 0x59c]
mov byte [ebp - 4], 5
call fcn.00401040
mov eax, edi
lea esi, [ebp - 0x464]
mov byte [ebp - 4], 6
call fcn.004011e0
xor edi, edi
push edi
push 1
lea esi, [ebp - 0x598]
mov dword [ebp - 0x59c], ebx
call fcn.0040146e
push edi
push 1
lea esi, [ebp - 0x5d4]
call fcn.0040146e
push edi
push 1
lea esi, [ebp - 0x5b8]
call fcn.0040146e
push edi
mov byte [ebp - 4], 2
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.0040146e
jmp 0x40576a
xor edi, edi
lea eax, [ebp - 0x54c]
push eax
call fcn.004044fa
lea eax, [ebp - 0x464]
push eax
lea eax, [ebp - 0x54c]
push eax
mov byte [ebp - 4], 7
call fcn.004048a0
lea ecx, [ebp - 0x54c]
call fcn.00404860
push edi
mov byte [ebp - 4], 0
push 1
lea esi, [ebp - 0x480]
mov dword [ebp - 0x484], ebx
call fcn.0040146e
jmp 0x405840
xor eax, eax
push 0x40e
mov word [ebp - 0x424], ax
lea eax, [ebp - 0x422]
push edi
push eax
call fcn.0043e4b0
add esp, 0xc
push 1
push 5
lea eax, [ebp - 0x424]
push eax
push dword [ebp - 0x554]
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x480]
call fcn.00401238
mov dword [ebp - 0x484], ebx
lea eax, [ebp - 0x484]
lea esi, [ebp - 0x464]
mov byte [ebp - 4], 8
call fcn.004011e0
push edi
mov byte [ebp - 4], 0
push 1
lea esi, [ebp - 0x480]
mov dword [ebp - 0x484], ebx
call fcn.0040146e
push 0x45702c
lea eax, [ebp - 0x460]
push eax
call fcn.00402d5e
sub esp, 0x20
lea eax, [ebp - 0x464]
mov edi, esp
mov dword [ebp - 0x550], esp
call fcn.00401059
call fcn.0040237f
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x3e8
push dword [ebp - 0x554]
call edi
cmp dword [ebp - 0x448], 8
mov ecx, dword [ebp - 0x45c]
jae 0x405883
lea ecx, [ebp - 0x45c]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea eax, [ebp - 0x460]
push eax
call fcn.00402b38
push 0x65
call fcn.00401cea
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 0
push 0x80
push dword [ebp - 0x554]
call esi
push 0x3e9
push dword [ebp - 0x554]
call edi
push 0x640000
push 0
push 0x401
push eax
mov dword [ebp - 0x550], eax
call esi
push 0
push 0
push 0x402
push dword [ebp - 0x550]
call esi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [ebp - 0x550]
call esi
push 0x3f0
push dword [ebp - 0x554]
call edi
push 0x79
lea ecx, [ebp - 0x444]
mov dword [ebp - 0x550], eax
call fcn.00402a2e
mov byte [ebp - 4], 9
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x405937
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x550]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0x3f1
push dword [ebp - 0x554]
call edi
push 0
push eax
call esi
push 0x3ec
push dword [ebp - 0x554]
call edi
push 0x7a
lea ecx, [ebp - 0x57c]
mov dword [ebp - 0x550], eax
call fcn.00402a2e
lea esi, [ebp - 0x444]
mov byte [ebp - 4], 0xa
call fcn.004011e0
push 0
mov byte [ebp - 4], 9
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.0040146e
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x4059b3
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x550]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0x3ed
push dword [ebp - 0x554]
call edi
push 0x7b
lea ecx, [ebp - 0x57c]
mov dword [ebp - 0x55c], eax
call fcn.00402a2e
lea esi, [ebp - 0x444]
mov byte [ebp - 4], 0xb
call fcn.004011e0
push 0
mov byte [ebp - 4], 9
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.0040146e
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x405a1d
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x55c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 1
push dword [ebp - 0x554]
call edi
push 0x78
lea ecx, [ebp - 0x57c]
mov dword [ebp - 0x550], eax
call fcn.00402a2e
lea esi, [ebp - 0x444]
mov byte [ebp - 4], 0xc
call fcn.004011e0
push 0
mov byte [ebp - 4], 9
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.0040146e
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x405a84
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x550]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0x3ea
push dword [ebp - 0x554]
call edi
push 0x7c
lea ecx, [ebp - 0x57c]
mov dword [ebp - 0x550], eax
call fcn.00402a2e
lea esi, [ebp - 0x444]
mov byte [ebp - 4], 0xd
call fcn.004011e0
push 0
mov byte [ebp - 4], 9
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.0040146e
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x405aee
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x550]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0
push 0
push 0xf1
push dword [ebp - 0x550]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x3eb
push dword [ebp - 0x554]
call edi
push 0x7d
lea ecx, [ebp - 0x57c]
mov dword [ebp - 0x550], eax
call fcn.00402a2e
lea esi, [ebp - 0x444]
mov byte [ebp - 4], 0xe
call fcn.004011e0
xor edi, edi
push edi
mov byte [ebp - 4], 9
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.0040146e
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x405b6e
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x550]
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea eax, [ebp - 0x57c]
call fcn.004023f4
cmp dword [eax + 0x18], edi
ja 0x405b9a
mov byte [ebp - 0x555], 0
cmp dword [0x46d424], edi
je 0x405ba1
mov byte [ebp - 0x555], 1
push edi
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.0040146e
cmp byte [ebp - 0x555], 0
push edi
je 0x405bc2
push edi
jmp 0x405bc4
push 1
push 0xf1
push dword [ebp - 0x550]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0xfffffffffffffff0
push dword [ebp - 0x55c]
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, 1
push eax
push 0xfffffffffffffff0
push dword [ebp - 0x55c]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push dword [ebp - 0x55c]
call dword [sym.imp.USER32.dll_SetFocus]
cmp dword [0x46d420], edi
je 0x405c20
push edi
push 0x3ed
push 0x111
push dword [ebp - 0x554]
call dword [sym.imp.USER32.dll_PostMessageW]
push edi
push 1
lea esi, [ebp - 0x440]
mov dword [ebp - 0x444], ebx
call fcn.0040146e
push edi
push 1
lea esi, [ebp - 0x460]
mov dword [ebp - 0x464], ebx
call fcn.0040146e
xor eax, eax
call fcn.004427e7
ret