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

Disassembly:
push 0x5c8
mov eax, 0x452515
call fcn.00441ba8
mov ebx, dword [ebp + 8]
mov esi, 0x46c374
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 [0x46c3ac], ebx
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
lea eax, [ebp - 0x464]
call fcn.004023cf
mov dword [ebp - 4], edi
cmp dword [ebp - 0x44c], edi
je 0x405647
cmp dword [ebp - 0x448], 8
mov eax, dword [ebp - 0x45c]
jae 0x405633
lea eax, [ebp - 0x45c]
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea eax, [ebp - 0x460]
push eax
call fcn.00402b28
lea eax, [ebp - 0x59c]
push eax
call fcn.00402329
lea esi, [ebp - 0x464]
mov byte [ebp - 4], 1
call fcn.004011e9
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.00401464
cmp dword [ebp - 0x44c], edi
je 0x4057cf
lea eax, [ebp - 0x464]
lea edi, [ebp - 0x484]
call fcn.00401060
mov eax, edi
push eax
mov byte [ebp - 4], 2
call fcn.00408416
push str._DESTDIR_
lea eax, [ebp - 0x480]
push eax
call fcn.00407a3f
mov esi, eax
cmp esi, 0xffffffff
je 0x405782
lea ecx, [ebp - 0x57c]
call fcn.00401db2
mov byte [ebp - 4], 3
test eax, eax
je 0x4056dc
lea edi, [eax + 4]
jmp 0x4056de
xor edi, edi
push 0xffffffffffffffff
push str._DESTDIR__
call fcn.0043d621
add eax, esi
pop ecx
push eax
lea eax, [ebp - 0x460]
push eax
lea esi, [ebp - 0x5b8]
call fcn.004012f3
push eax
lea eax, [ebp - 0x5d4]
push edi
push eax
mov byte [ebp - 4], 4
call fcn.00403694
add esp, 0xc
push eax
lea edi, [ebp - 0x59c]
mov byte [ebp - 4], 5
call fcn.00401047
mov eax, edi
lea esi, [ebp - 0x464]
mov byte [ebp - 4], 6
call fcn.004011e9
xor edi, edi
push edi
push 1
lea esi, [ebp - 0x598]
mov dword [ebp - 0x59c], ebx
call fcn.00401464
push edi
push 1
lea esi, [ebp - 0x5d4]
call fcn.00401464
push edi
push 1
lea esi, [ebp - 0x5b8]
call fcn.00401464
push edi
mov byte [ebp - 4], 2
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.00401464
jmp 0x405784
xor edi, edi
lea eax, [ebp - 0x54c]
push eax
call fcn.0040451a
lea eax, [ebp - 0x464]
push eax
lea eax, [ebp - 0x54c]
push eax
mov byte [ebp - 4], 7
call fcn.004048c1
lea ecx, [ebp - 0x54c]
call fcn.00404881
push edi
mov byte [ebp - 4], 0
push 1
lea esi, [ebp - 0x480]
mov dword [ebp - 0x484], ebx
call fcn.00401464
jmp 0x40585a
xor eax, eax
push 0x40e
mov word [ebp - 0x424], ax
lea eax, [ebp - 0x422]
push edi
push eax
call fcn.0043dae0
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.0040122e
mov dword [ebp - 0x484], ebx
lea eax, [ebp - 0x484]
lea esi, [ebp - 0x464]
mov byte [ebp - 4], 8
call fcn.004011e9
push edi
mov byte [ebp - 4], 0
push 1
lea esi, [ebp - 0x480]
mov dword [ebp - 0x484], ebx
call fcn.00401464
push 0x45601c
lea eax, [ebp - 0x460]
push eax
call fcn.00402d57
sub esp, 0x20
lea eax, [ebp - 0x464]
mov edi, esp
mov dword [ebp - 0x550], esp
call fcn.00401060
call fcn.00402371
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 0x40589d
lea ecx, [ebp - 0x45c]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea eax, [ebp - 0x460]
push eax
call fcn.00402b28
push 0x65
call fcn.00401cde
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.00402a20
mov byte [ebp - 4], 9
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x405951
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.00402a20
lea esi, [ebp - 0x444]
mov byte [ebp - 4], 0xa
call fcn.004011e9
push 0
mov byte [ebp - 4], 9
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.00401464
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x4059cd
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.00402a20
lea esi, [ebp - 0x444]
mov byte [ebp - 4], 0xb
call fcn.004011e9
push 0
mov byte [ebp - 4], 9
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.00401464
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x405a37
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.00402a20
lea esi, [ebp - 0x444]
mov byte [ebp - 4], 0xc
call fcn.004011e9
push 0
mov byte [ebp - 4], 9
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.00401464
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x405a9e
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.00402a20
lea esi, [ebp - 0x444]
mov byte [ebp - 4], 0xd
call fcn.004011e9
push 0
mov byte [ebp - 4], 9
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.00401464
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x405b08
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.00402a20
lea esi, [ebp - 0x444]
mov byte [ebp - 4], 0xe
call fcn.004011e9
xor edi, edi
push edi
mov byte [ebp - 4], 9
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.00401464
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x405b88
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x550]
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea eax, [ebp - 0x57c]
call fcn.004023e6
cmp dword [eax + 0x18], edi
ja 0x405bb4
mov byte [ebp - 0x555], 0
cmp dword [0x46c41c], edi
je 0x405bbb
mov byte [ebp - 0x555], 1
push edi
push 1
lea esi, [ebp - 0x578]
mov dword [ebp - 0x57c], ebx
call fcn.00401464
cmp byte [ebp - 0x555], 0
push edi
je 0x405bdc
push edi
jmp 0x405bde
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 [0x46c418], edi
je 0x405c3a
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.00401464
push edi
push 1
lea esi, [ebp - 0x460]
mov dword [ebp - 0x464], ebx
call fcn.00401464
xor eax, eax
call fcn.00441c2b
ret