Function at 0x5f4060
Capabilities:
Check for time delay via gettickcount
Get common file path
Set global application hook

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x5f4068
mov eax, 0x5e7904
call fcn.0040b784
xor eax, eax
push ebp
push 0x5f43ca
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x5f43a8
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x601008]
mov eax, dword [eax]
call fcn.0051fb10
call fcn.00404984
call fcn.00404a44
mov edx, dword [0x6012f0]
mov edx, dword [edx]
mov eax, dword [0x60095c]
mov ecx, 0x5f43e4
call fcn.0040861c
push 0x607b24
push 0x200
call sub.KERNEL32.DLL_GetTempPathW
mov eax, 0x607b20
mov edx, 0x607b24
mov ecx, 0x401
call fcn.0040846c
mov ecx, dword [0x600e1c]
mov ecx, dword [ecx]
mov eax, dword [0x601108]
mov edx, dword [0x607b20]
call fcn.0040861c
mov ecx, dword [0x600ffc]
mov ecx, dword [ecx]
mov eax, dword [0x601478]
mov edx, dword [0x607b20]
call fcn.0040861c
lea edx, [ebp - 0x14]
mov eax, dword [0x5cd870]
call fcn.005cedbc
push dword [0x607b20]
push 0x5f43f8
push 0x5f440c
call sub.KERNEL32.DLL_GetCurrentProcessId
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x18]
call fcn.0041df94
push dword [ebp - 0x18]
push 0x5f440c
call sub.KERNEL32.DLL_GetTickCount_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x1c]
call fcn.0041df94
push dword [ebp - 0x1c]
push 0x5f440c
mov eax, 0x7fffffff
call fcn.00404a6c
lea edx, [ebp - 0x20]
call fcn.0041df6c
push dword [ebp - 0x20]
push 0x5f441c
mov eax, 0x607b1c
mov edx, 9
call fcn.004086a4
mov edx, dword [0x6010ec]
mov edx, dword [edx]
mov eax, 0x608328
mov ecx, 0x5f4440
call fcn.0040861c
cmp dword [0x6006c8], 0
je 0x5f436a
mov eax, dword [0x6006c8]
dec eax
sub eax, 2
jae 0x5f436a
push dword [0x608328]
call sub.KERNEL32.DLL_GetTickCount_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x24]
call fcn.0041df94
push dword [ebp - 0x24]
push 0x5f440c
mov eax, 0x7fffffff
call fcn.00404a6c
lea edx, [ebp - 0x28]
call fcn.0041df6c
push dword [ebp - 0x28]
mov eax, 0x608328
mov edx, 4
call fcn.004086a4
mov eax, dword [0x607b1c]
push eax
mov eax, dword [0x6006c8]
push eax
mov ecx, dword [0x608328]
mov dl, 1
mov eax, dword [0x5cd870]
call fcn.005cf154
mov edx, dword [0x60073c]
mov dword [edx], eax
mov ax, 0x133f
call fcn.00404a88
mov ecx, dword [0x600c7c]
mov eax, dword [0x601008]
mov eax, dword [eax]
mov edx, dword [0x5e4990]
call fcn.0051fb28
mov ecx, dword [0x60118c]
mov eax, dword [0x601008]
mov eax, dword [eax]
mov edx, dword [0x5e6ea4]
call fcn.0051fb28
mov ecx, dword [0x600978]
mov eax, dword [0x601008]
mov eax, dword [eax]
mov edx, dword [0x5d0408]
call fcn.0051fb28
mov ecx, dword [0x6012c0]
mov eax, dword [0x601008]
mov eax, dword [eax]
mov edx, dword [0x5d1788]
call fcn.0051fb28
push 0x5f4454
call sub.KERNEL32.DLL_GlobalAddAtomW
movzx eax, ax
sub eax, 0xc000
mov edx, dword [0x600710]
mov dword [edx], eax
push 0x78
push 0
mov eax, dword [0x600710]
mov eax, dword [eax]
push eax
mov eax, dword [0x601008]
mov eax, dword [eax]
mov eax, dword [eax + 0x178]
push eax
call sub.user32.dll_RegisterHotKey
mov eax, dword [0x600978]
mov eax, dword [eax]
mov edx, dword [0x601008]
mov edx, dword [edx]
mov dword [edx + 0x114], eax
mov dword [edx + 0x110], 0x5d0bd0
mov eax, dword [0x600c7c]
mov eax, dword [eax]
mov edx, dword [0x601008]
mov edx, dword [edx]
mov dword [edx + 0xfc], eax
mov dword [edx + 0xf8], 0x5e6da4
mov eax, dword [0x60118c]
mov eax, dword [eax]
mov eax, dword [eax + 0x390]
mov dl, 1
call fcn.004d31fc
call sub.KERNEL32.DLL_GetCurrentThreadId_1
push eax
push 0
mov eax, 0x5e7874
push eax
push 3
call sub.user32.dll_SetWindowsHookExW
mov dword [0x60832c], eax
mov eax, dword [0x601008]
mov eax, dword [eax]
call fcn.0051fc80
mov eax, dword [0x60073c]
cmp dword [eax], 0
je 0x5f4363
mov eax, dword [0x60073c]
mov eax, dword [eax]
mov edx, dword [0x60073c]
xor ecx, ecx
mov dword [edx], ecx
call fcn.00405a10
call fcn.00406df0
jmp 0x5f43af
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5f43af
mov eax, dword [0x600710]
mov eax, dword [eax]
push eax
mov eax, dword [0x601008]
mov eax, dword [eax]
mov eax, dword [eax + 0x178]
push eax
call sub.user32.dll_UnregisterHotKey
mov eax, dword [0x60832c]
push eax
call sub.user32.dll_UnhookWindowsHookEx
mov eax, dword [0x5cd870]
call fcn.005ce8dc
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5f43d1
lea eax, [ebp - 0x28]
mov edx, 6
call fcn.00407680
ret