Function at 0x44770d
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x467230
mov dword [0x46724c], eax
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov esi, 0x467b80
push esi
push 0x104
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryA]
xor ebx, ebx
test eax, eax
jne 0x447746
mov byte [0x467b80], bl
push 0xffffffffffffffff
push esi
call fcn.0044e882
xor edi, edi
inc edi
cmp dword [0x46b4b8], edi
pop ecx
pop ecx
mov dword [0x467c84], eax
mov byte [ebp - 8], bl
mov byte [ebp + 0xb], bl
mov dword [ebp - 4], edi
jle 0x44783e
cmp byte [ebp + 0xb], bl
mov eax, dword [0x46b4bc]
mov ecx, dword [ebp - 4]
mov esi, dword [eax + ecx*4]
je 0x4477b8
push ebx
push ebx
push edi
lea eax, [ebp - 0x2c]
push 0x45a764
push eax
call fcn.0040a7af
add esp, 0xc
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x467ce0
call fcn.0040c0f7
cmp eax, ebx
je 0x447ac4
push 1
push ebx
push 0xffffffffffffffff
push esi
mov ecx, eax
call fcn.0040184e
inc edi
jmp 0x44782c
push 0x45a760
push esi
call fcn.00442502
test eax, eax
pop ecx
pop ecx
je 0x447828
push str._restart
push esi
call fcn.00442502
test eax, eax
pop ecx
pop ecx
je 0x447828
push 0x45a750
push esi
call fcn.00442502
test eax, eax
pop ecx
pop ecx
je 0x44781f
push str._force
push esi
call fcn.00442502
test eax, eax
pop ecx
pop ecx
je 0x44781f
push str._ErrorStdOut
push esi
call fcn.00442502
test eax, eax
pop ecx
pop ecx
jne 0x447816
mov byte [0x468190], 1
jmp 0x44782c
dec dword [ebp - 4]
mov byte [ebp + 0xb], 1
jmp 0x44782c
mov byte [0x467394], 1
jmp 0x44782c
mov byte [ebp - 8], 1
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [0x46b4b8]
jl 0x44776d
push ebx
push ebx
push ebx
mov esi, 0x467ce0
push 0x45a734
mov ecx, esi
call fcn.0040c0f7
mov ecx, eax
cmp ecx, ebx
je 0x447ac4
lea eax, [edi - 1]
cdq
push 0x18
push edx
push eax
call fcn.00401c1f
push dword [0x465108]
call fcn.0040a888
pop ecx
push dword [ebp - 8]
mov ecx, esi
push 0x45a5d8
push dword [0x465108]
call fcn.00447d15
xor edi, edi
inc edi
cmp eax, edi
jne 0x447ac4
push 0xd0
push dword [0x465108]
push 0x467038
call fcn.004576b0
add esp, 0xc
mov ecx, esi
call fcn.00450782
cmp eax, 0xffffffff
je 0x447ac4
cmp eax, ebx
je 0x447ad3
cmp dword [0x467398], ebx
jne 0x4478fd
mov eax, dword [0x466200]
cmp word [eax], bx
jne 0x4478f7
cmp dword [0x4693e4], ebx
jne 0x4478f7
cmp dword [0x467388], ebx
jne 0x4478f7
cmp dword [0x46738c], ebx
jne 0x4478f7
cmp byte [0x46739c], bl
je 0x447973
mov dword [0x467398], edi
cmp dword [0x467398], 4
je 0x447973
cmp byte [ebp - 8], bl
jne 0x44797c
cmp byte [0x467394], bl
jne 0x4479fe
push dword [0x468188]
push str.AutoHotkey
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x4479fe
mov eax, dword [0x467398]
cmp eax, 3
je 0x447ad3
cmp eax, 2
je 0x44796c
push ebx
fldz
push ecx
push ecx
fstp qword [esp]
push dword [0x46817c]
push 4
push str.An_older_instance_of_this_script_is_already_running.__Replace_it_with_this_instance__nNote:_To_avoid_this_message__see_SingleInstance_in_the_help_file.
call fcn.0043c205
add esp, 0x18
cmp eax, 7
je 0x447ad3
mov eax, 0x407
jmp 0x447999
cmp byte [ebp - 8], bl
je 0x4479fe
push dword [0x468188]
push str.AutoHotkey
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x4479fe
mov eax, 0x406
push ebx
push eax
push 0x44
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_PostMessageA]
mov esi, dword [sym.imp.KERNEL32.DLL_Sleep]
push 0x14
mov dword [ebp + 8], ebx
call esi
mov edi, dword [sym.imp.USER32.dll_IsWindow]
jmp 0x4479ec
cmp dword [ebp + 8], 0x64
jne 0x4479e5
push ebx
fldz
push ecx
push ecx
fstp qword [esp]
push ebx
push 4
push str.Could_not_close_the_previous_instance_of_this_script.__Keep_waiting_
call fcn.0043c205
add esp, 0x18
cmp eax, 7
je 0x447ac4
mov dword [ebp + 8], ebx
inc dword [ebp + 8]
push 0x14
call esi
push dword [ebp - 8]
call edi
test eax, eax
jne 0x4479bb
push 0x64
call esi
mov esi, 0x467ce0
call fcn.0043c3b0
mov ecx, esi
call fcn.00447adc
cmp eax, 1
jne 0x447ac4
push ebx
push 4
push ebx
push 0x4665c0
call fcn.00441f68
mov eax, dword [0x465070]
add esp, 0x10
cmp eax, ebx
je 0x447a54
imul eax, eax, 0x70
push eax
call fcn.0043f68a
cmp eax, ebx
pop ecx
mov dword [0x467c8c], eax
je 0x447a54
mov ecx, dword [0x465070]
imul ecx, ecx, 0x70
push ecx
push ebx
push eax
call fcn.00457b80
add esp, 0xc
cmp byte [0x4683a0], bl
jne 0x447a93
push str.InitCommonControlsEx
push str.comctl32
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
cmp eax, ebx
je 0x447a8d
lea ecx, [ebp - 0xc]
push ecx
mov dword [ebp - 0xc], 8
mov dword [ebp - 8], 0x1ff
call eax
jmp 0x447a93
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.004114b4
push ebx
push ebx
push ebx
push str.Clipboard
mov ecx, esi
mov byte [0x46818c], 1
call fcn.0040c0f7
cmp eax, ebx
je 0x447ab9
mov ecx, eax
call fcn.00409ef4
mov ecx, esi
call fcn.00447561
test eax, eax
jne 0x447ac9
push 2
pop eax
jmp 0x447ad5
push ebx
push 0xa
call fcn.0040de6e
pop ecx
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x10