Function at 0x4470c7
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 0x466230
mov dword [0x46624c], eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov esi, 0x466b80
push esi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
xor ebx, ebx
test eax, eax
jne 0x447100
mov byte [0x466b80], bl
push 0xffffffffffffffff
push esi
call fcn.0044e11a
xor edi, edi
inc edi
cmp dword [0x46a4b4], edi
pop ecx
pop ecx
mov dword [0x466c84], eax
mov byte [ebp - 8], bl
mov byte [ebp + 0xb], bl
mov dword [ebp - 4], edi
jle 0x4471f8
cmp byte [ebp + 0xb], bl
mov eax, dword [0x46a4b8]
mov ecx, dword [ebp - 4]
mov esi, dword [eax + ecx*4]
je 0x447172
push ebx
push ebx
push edi
lea eax, [ebp - 0x2c]
push 0x459754
push eax
call fcn.0040a5ef
add esp, 0xc
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x466ce0
call fcn.0040bf2a
cmp eax, ebx
je 0x44746d
push 1
push ebx
push 0xffffffffffffffff
push esi
mov ecx, eax
call fcn.0040187e
inc edi
jmp 0x4471e6
push 0x459750
push esi
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
je 0x4471e2
push str._restart
push esi
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
je 0x4471e2
push 0x459740
push esi
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
je 0x4471d9
push str._force
push esi
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
je 0x4471d9
push str._ErrorStdOut
push esi
call fcn.00441ec1
test eax, eax
pop ecx
pop ecx
jne 0x4471d0
mov byte [0x467190], 1
jmp 0x4471e6
dec dword [ebp - 4]
mov byte [ebp + 0xb], 1
jmp 0x4471e6
mov byte [0x466394], 1
jmp 0x4471e6
mov byte [ebp - 8], 1
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [0x46a4b4]
jl 0x447127
push ebx
push ebx
push ebx
mov esi, 0x466ce0
push 0x459724
mov ecx, esi
call fcn.0040bf2a
mov ecx, eax
cmp ecx, ebx
je 0x44746d
lea eax, [edi - 1]
cdq
push 0x18
push edx
push eax
call fcn.00401c4f
push dword [0x464108]
call fcn.0040a6c2
pop ecx
push dword [ebp - 8]
mov ecx, esi
push 0x4595d8
push dword [0x464108]
call fcn.004476be
xor edi, edi
inc edi
cmp eax, edi
jne 0x44746d
push 0xd0
push dword [0x464108]
push 0x466038
call fcn.00456f20
add esp, 0xc
mov ecx, esi
call fcn.0044fff1
cmp eax, 0xffffffff
je 0x44746d
cmp eax, ebx
je 0x44747c
cmp dword [0x466398], ebx
jne 0x4472b7
mov eax, dword [0x465200]
cmp word [eax], bx
jne 0x4472b1
cmp dword [0x4683e4], ebx
jne 0x4472b1
cmp dword [0x466388], ebx
jne 0x4472b1
cmp dword [0x46638c], ebx
jne 0x4472b1
cmp byte [0x46639c], bl
je 0x44732d
mov dword [0x466398], edi
cmp dword [0x466398], 4
je 0x44732d
cmp byte [ebp - 8], bl
jne 0x447336
cmp byte [0x466394], bl
jne 0x4473b8
push dword [0x467188]
push str.AutoHotkey
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x4473b8
mov eax, dword [0x466398]
cmp eax, 3
je 0x44747c
cmp eax, 2
je 0x447326
push ebx
fldz
push ecx
push ecx
fstp qword [esp]
push dword [0x46717c]
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.0043bc63
add esp, 0x18
cmp eax, 7
je 0x44747c
mov eax, 0x407
jmp 0x447353
cmp byte [ebp - 8], bl
je 0x4473b8
push dword [0x467188]
push str.AutoHotkey
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x4473b8
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 0x4473a6
cmp dword [ebp + 8], 0x64
jne 0x44739f
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.0043bc63
add esp, 0x18
cmp eax, 7
je 0x44746d
mov dword [ebp + 8], ebx
inc dword [ebp + 8]
push 0x14
call esi
push dword [ebp - 8]
call edi
test eax, eax
jne 0x447375
push 0x64
call esi
mov esi, 0x466ce0
call fcn.0043be0e
mov ecx, esi
call fcn.00447485
cmp eax, 1
jne 0x44746d
mov eax, dword [0x464070]
cmp eax, ebx
je 0x4473fd
imul eax, eax, 0x70
push eax
call fcn.0043f0e8
cmp eax, ebx
pop ecx
mov dword [0x466c8c], eax
je 0x4473fd
mov ecx, dword [0x464070]
imul ecx, ecx, 0x70
push ecx
push ebx
push eax
call fcn.004573f0
add esp, 0xc
cmp byte [0x46739f], bl
jne 0x44743c
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 0x447436
lea ecx, [ebp - 0xc]
push ecx
mov dword [ebp - 0xc], 8
mov dword [ebp - 8], 0x1ff
call eax
jmp 0x44743c
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.00411311
push ebx
push ebx
push ebx
push str.Clipboard
mov ecx, esi
mov byte [0x46718c], 1
call fcn.0040bf2a
cmp eax, ebx
je 0x447462
mov ecx, eax
call fcn.00409d38
mov ecx, esi
call fcn.00446f1b
test eax, eax
jne 0x447472
push 2
pop eax
jmp 0x44747e
push ebx
push 0xa
call fcn.0040dca7
pop ecx
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x10