Function at 0x47efff
Capabilities:
Check for time delay via gettickcount
Create process on windows

Disassembly:
push 0x93c
mov eax, 0x51027c
call fcn.004f41e2
mov edi, ecx
mov dword [ebp - 0x8c4], edi
mov ecx, dword [edi + 0x4c]
xor ebx, ebx
push ebx
call fcn.004896d0
test al, al
je 0x47fa64
mov esi, dword [ebp + 0xc]
mov ecx, esi
shr ecx, 0x10
mov dword [ebp - 0x8c0], esi
movzx edx, si
test cx, cx
js 0x47fa5d
test dx, dx
js 0x47fa5d
movzx eax, word [edi + 0x1afe]
cmp cx, ax
jge 0x47fa5d
movzx eax, word [edi + 0x1afc]
cmp dx, ax
jge 0x47fa5d
mov edi, esi
lea ecx, [ebp - 0x600]
mov dword [ebp - 0x8bc], edi
call fcn.004e25a1
mov ecx, dword [ebp - 0x8c4]
lea eax, [ebp - 0x8c0]
push eax
mov dword [ebp - 4], ebx
call fcn.00477e20
test al, al
je 0x47f0c8
mov ecx, dword [ebp - 0x8c4]
lea eax, [ebp - 0x600]
push eax
push 6
lea eax, [ebp - 0x8bc]
push eax
lea eax, [ebp - 0x8c0]
push eax
call fcn.0047a04b
mov esi, dword [ebp - 0x8c0]
mov edi, dword [ebp - 0x8bc]
jmp 0x47f0ca
mov eax, ebx
mov ecx, dword [ebp - 0x8c4]
xor edx, edx
inc edx
mov dword [ebp - 0x8cc], eax
cmp byte [ecx + 0x1bac], 0
jne 0x47f0ec
cmp dword [ecx + 0x1ba8], eax
jne 0x47f0ec
mov dl, bl
lea eax, [ebp - 0x8c0]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x1ba0]
jne 0x47f10c
lea eax, [ebp - 0x8bc]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x1ba4]
je 0x47f11e
mov dword [ecx + 0x1ba0], esi
mov dl, 1
mov esi, ecx
mov dword [esi + 0x1ba4], edi
jmp 0x47f120
mov esi, ecx
test dl, dl
je 0x47f131
cmp byte [ebp + 0x10], 0
je 0x47f131
mov ecx, esi
call fcn.00481a96
test byte [ebp - 0x8cc], 6
je 0x47fa4e
cmp dword [ebp + 8], 0x202
je 0x47f154
cmp dword [ebp + 8], 0x203
jne 0x47fa49
lea ecx, [ebp - 0x600]
call fcn.004e2932
test al, al
jne 0x47fa49
mov eax, dword [ebp - 0x8cc]
test al, 2
je 0x47f1bd
push 1
push ebx
push ebx
lea ecx, [ebp - 0x600]
call fcn.0044612f
push eax
push str.open
push dword [0x5a22a4]
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
jg 0x47fa49
push ebx
push str.URL_open_failed
push 0x10
push eax
lea ecx, [ebp - 0x600]
call fcn.0044612f
push eax
call fcn.00420ad9
add esp, 0x14
jmp 0x47fa49
test al, 4
je 0x47fa49
push 0x212
lea eax, [ebp - 0x544]
mov dword [ebp - 0x548], 0x216
push ebx
push eax
call fcn.004f5a90
mov edi, dword [ebp - 0x600]
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
and dword [ebp - 0x8cc], 0x1000
push 0x30
pop edx
lea ecx, [eax - 1]
mov dword [ebp - 0x8c8], 0x39
mov dword [ebp - 0x8bc], 0x2c
mov dword [ebp - 0x8c0], 9
je 0x47f261
cmp word [edi + ecx*2], 0x29
jne 0x47f25d
xor eax, eax
mov word [edi + ecx*2], ax
jmp 0x47f25c
movzx eax, word [edi + ecx*2 - 2]
cmp ax, dx
jb 0x47f243
cmp ax, word [ebp - 0x8c8]
jbe 0x47f25c
cmp ax, word [ebp - 0x8bc]
jne 0x47f261
mov ax, word [edi + ecx*2]
sub ax, dx
cmp ax, word [ebp - 0x8c0]
ja 0x47f261
dec ecx
test ecx, ecx
jg 0x47f230
cmp ecx, 3
jl 0x47fa49
lea eax, [edi + ecx*2]
push 0xa
lea ecx, [ebp - 0x8c0]
mov dword [ebp - 0x8c8], eax
push ecx
push eax
call fcn.004fe2f8
mov dword [ebp - 0x544], eax
add esp, 0xc
mov eax, dword [ebp - 0x8c0]
test eax, eax
je 0x47f2c7
push 0x2c
pop ecx
cmp word [eax], cx
jne 0x47f2c7
lea ecx, [eax + 2]
movzx eax, word [ecx]
push 0x30
pop edx
cmp ax, dx
jb 0x47f2c7
push 0x39
pop edx
cmp ax, dx
ja 0x47f2c7
push 0xa
lea eax, [ebp - 0x8c0]
push eax
push ecx
call fcn.004fe2f8
add esp, 0xc
jmp 0x47f2cd
mov eax, dword [ebp - 0x540]
xor ecx, ecx
inc ecx
cmp eax, ecx
cmovl eax, ecx
cmp dword [ebp - 0x8cc], 0
mov dword [ebp - 0x540], eax
je 0x47f2f0
mov eax, dword [ebp - 0x8c8]
xor ecx, ecx
mov word [eax - 2], cx
push 0x2f
push edi
call fcn.004f5617
mov dword [ebp - 0x8c0], eax
pop ecx
pop ecx
test eax, eax
je 0x47f324
push 0x5c
pop esi
push 0x2f
push edi
mov word [eax], si
call fcn.004f5617
mov dword [ebp - 0x8c0], eax
pop ecx
pop ecx
test eax, eax
jne 0x47f307
mov esi, dword [ebp - 0x8c4]
lea ecx, [ebp - 0x5a4]
call fcn.004e25a1
mov ecx, dword [esi + 0x4c]
xor eax, eax
inc eax
mov byte [ebp - 4], al
lea eax, [ebp - 0x5a4]
push eax
push edi
call fcn.00487d01
mov dword [ebp - 0x8bc], eax
test eax, eax
je 0x47f388
push 0x105
push eax
lea eax, [ebp - 0x53c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea eax, [ebp - 0x53c]
push ebx
push eax
call fcn.004e2e74
pop ecx
xor edx, edx
test al, al
pop ecx
mov ecx, dword [ebp - 0x8bc]
cmove ecx, edx
mov dword [ebp - 0x8bc], ecx
test ecx, ecx
jne 0x47f39b
push 0x105
push edi
lea eax, [ebp - 0x53c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea eax, [ebp - 0x53c]
push 0x5c
push eax
call fcn.004f6844
pop ecx
pop ecx
lea ecx, [ebp - 0x904]
call fcn.004d840a
mov ecx, dword [0x5a22a0]
lea eax, [ebp - 0x904]
push eax
lea eax, [ebp - 0x53c]
mov byte [ebp - 4], 2
push eax
mov ecx, dword [ecx + 0x3e64]
push 0x3003
call fcn.004be68f
cmp eax, 0xfffffffe
je 0x47fa33
test eax, eax
js 0x47f47b
cmp dword [ebp - 0x544], 0
jle 0x47fa33
mov ecx, dword [ebp - 0x900]
call fcn.004de78b
mov esi, eax
lea edx, [esi + 0x604c]
mov ecx, dword [edx]
and ecx, 0xffff0000
cmp ecx, 0x10000
jne 0x47f432
push dword [ebp - 0x540]
push dword [ebp - 0x544]
push str.__if_Editor__AltF8___i:_i__Enter__end
jmp 0x47f455
mov ecx, edx
call fcn.0047be52
push dword [ebp - 0x540]
push dword [ebp - 0x544]
test al, al
je 0x47f450
push str._if_Area.Editor_then_Keys__AltF8___print___i:_i___Keys__Enter___end
jmp 0x47f455
push str.__if_Editor__AltF8_print___i:_i___Enter__end
lea eax, [ebp - 0x150]
push eax
call fcn.00476e90
add esp, 0x10
xor eax, eax
inc eax
mov ecx, esi
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.0048db88
jmp 0x47fa33
mov eax, dword [0x5a23ec]
lea ecx, [ebp - 0x330]
mov byte [ebp - 0x8c4], bl
mov eax, dword [eax + 0x10fd8]
mov dword [ebp - 0x8d0], eax
call fcn.004e25a1
push ebx
lea eax, [ebp - 0x330]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.004e55bb
add esp, 0xc
test eax, eax
jne 0x47f4ec
lea ecx, [ebp - 0x330]
call fcn.0044612f
push eax
call fcn.004e5a5b
push eax
call fcn.004e49f8
pop ecx
pop ecx
mov ecx, dword [ebp - 0x8c4]
test al, al
push 1
movzx ecx, cl
pop eax
cmove ecx, eax
mov dword [ebp - 0x8c4], ecx
lea ecx, [ebp - 0x8f4]
call fcn.004d840a
mov edi, dword [ebp - 0x8bc]
mov byte [ebp - 4], 4
test edi, edi
je 0x47f9b6
cmp word [edi], bx
je 0x47f9b6
cmp byte [ebp - 0x8c4], 0
jne 0x47f581
lea eax, [ebp - 0x8f4]
push eax
push ebx
push 0x1800
call fcn.004d7914
add esp, 0xc
test eax, eax
je 0x47f581
mov ecx, dword [ebp - 0x8f0]
lea eax, [ebp - 0x548]
push eax
push 0x216
push 0xdc
call fcn.004de78b
mov ecx, eax
call fcn.0048d23c
mov ecx, dword [ebp - 0x8f0]
push ebx
call fcn.004e1974
test al, al
jne 0x47fa1d
push dword [ebp - 0x8f0]
mov ecx, dword [0x5a22a0]
call fcn.0040b143
jmp 0x47fa1d
mov eax, dword [0x5a23ec]
mov eax, dword [eax + 0x10fd8]
test eax, eax
je 0x47f9a2
cmp word [eax], bx
je 0x47f9a2
push dword [ebp - 0x544]
lea eax, [ebp - 0x50]
push 0x521bcc
push eax
call fcn.00401104
push dword [ebp - 0x540]
lea eax, [ebp - 0x90]
push 0x521bcc
push eax
call fcn.00401104
add esp, 0x18
lea ecx, [ebp - 0x2d4]
call fcn.004e25a1
push edi
mov byte [ebp - 4], 6
call fcn.00421c92
pop ecx
mov dword [ebp - 0x8c8], eax
lea ecx, [ebp - 0x2d4]
lea eax, [ebp - 0x8c8]
push eax
call fcn.004e26da
lea ecx, [ebp - 0x278]
call fcn.004e25a1
mov ecx, dword [esi + 0x4c]
lea eax, [ebp - 0x278]
push eax
mov byte [ebp - 4], 7
call fcn.00487e6b
push eax
push ebx
push edi
call fcn.00420bf7
lea eax, [ebp - 0x50]
mov dword [ebp - 0x15c], edi
add esp, 0x10
mov dword [ebp - 0x164], eax
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0x2d4]
mov dword [ebp - 0x160], eax
call fcn.0044612f
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x158], eax
call fcn.0044612f
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x164]
push 5
push eax
mov eax, dword [0x5a23ec]
push dword [eax + 0x10fd8]
call fcn.004e2d64
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x47f698
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push str.Invalid_command_specified_in__External_editor_
call fcn.00420ad9
add esp, 0x14
jmp 0x47f98f
lea ecx, [ebp - 0x8b8]
call fcn.004ea5ed
movzx eax, word [edi]
mov ecx, eax
mov byte [ebp - 4], 8
push 0x23
mov dword [ebp - 0x8c8], ecx
pop ecx
cmp ax, cx
jne 0x47f6d5
lea eax, [edi + 2]
push ebx
push eax
call fcn.004e230a
push edi
mov dword [ebp - 0x8a0], eax
call fcn.004e1bea
add esp, 0xc
jmp 0x47f6db
mov dword [ebp - 0x8a0], edi
mov ecx, dword [esi + 0x4c]
mov eax, dword [ecx + 0x3c30]
test eax, eax
je 0x47f6fc
push ebx
push eax
call fcn.004e230a
pop ecx
pop ecx
mov ecx, dword [esi + 0x4c]
mov dword [ebp - 0x89c], eax
jmp 0x47f702
mov dword [ebp - 0x89c], ebx
mov eax, dword [ecx + 0x3c50]
push 2
pop edx
mov dword [ebp - 0x87c], eax
cmp dword [ecx + 0x3e74], edx
je 0x47f734
cmp dword [ecx + 0x3c58], edx
je 0x47f734
cmp dword [ecx + 0x3c60], ebx
jne 0x47f734
xor eax, eax
inc eax
mov dword [ebp - 0x658], eax
jmp 0x47f73a
mov dword [ebp - 0x658], edx
push 0x23
pop eax
mov dword [ebp - 0x64c], edx
cmp word [ebp - 0x8c8], ax
jne 0x47f970
mov eax, dword [ebp - 0x8a0]
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x8cc], eax
call fcn.004e25a1
push 9
pop eax
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], al
call fcn.004e25a1
push ebx
lea eax, [ebp - 0x1c0]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x8cc]
push eax
call fcn.004e55bb
add esp, 0xc
test eax, eax
jne 0x47f7ff
lea eax, [ebp - 0x21c]
push eax
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1c0]
push eax
mov ecx, eax
call fcn.0044612f
push eax
call fcn.004ee562
add esp, 0x10
test al, al
je 0x47f7ff
push dword [ebp - 0x8cc]
lea ecx, [ebp - 0x1c0]
call fcn.0044612f
push eax
call fcn.004e553c
mov edi, eax
mov dword [ebp - 0x8bc], edi
pop ecx
pop ecx
test edi, edi
je 0x47f7ff
cmp dword [ebp - 0x8a0], 0
je 0x47f7f7
push dword [ebp - 0x8a0]
call fcn.004e1bea
pop ecx
mov dword [ebp - 0x8a0], edi
jmp 0x47f80b
mov eax, dword [ebp - 0x8a0]
mov dword [ebp - 0x8bc], eax
mov eax, dword [ebp - 0x89c]
push 0x40
mov dword [ebp - 0x8d4], eax
lea eax, [ebp - 0x944]
push ebx
push eax
mov dword [ebp - 0x8c8], ebx
mov dword [ebp - 0x948], 0x44
call fcn.004f5a90
xor eax, eax
lea edi, [ebp - 0x8e4]
stosd dword es:[edi], eax
xor ecx, ecx
inc ecx
push ecx
mov dword [ebp - 0x91c], ecx
stosd dword es:[edi], eax
mov word [ebp - 0x918], cx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x8c8]
push eax
lea edi, [esi + 4]
push edi
lea eax, [ebp - 0x8e4]
push eax
lea eax, [ebp - 0x948]
push eax
lea eax, [ebp - 0x8d4]
push eax
push dword [ebp - 0x8bc]
lea eax, [ebp - 0x8b8]
push eax
push dword [esi + 0x4c]
call fcn.00484f8f
add esp, 0x30
test al, al
je 0x47f941
mov eax, dword [edi]
test eax, eax
je 0x47f8a7
mov esi, dword [eax + 0x38]
push eax
call fcn.004e1bea
pop ecx
mov dword [edi], ebx
jmp 0x47f8ad
mov esi, dword [ebp - 0x8e4]
mov eax, dword [ebp - 0x8e0]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x47f8cb
cmp eax, 0xffffffff
je 0x47f8cb
push eax
mov dword [ebp - 0x8e0], ebx
call edi
test esi, esi
je 0x47f958
cmp dword [ebp - 0x8dc], 0
je 0x47f937
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x8bc], eax
jmp 0x47f920
push 0x64
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x47f937
cmp ebx, 0xbb8
ja 0x47f937
push dword [ebp - 0x8dc]
call fcn.00420e20
pop ecx
test eax, eax
jne 0x47f930
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
sub ebx, dword [ebp - 0x8bc]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x5a22a4]
je 0x47f8ea
jmp 0x47f937
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
cmp esi, 0xffffffff
je 0x47f958
push esi
call edi
jmp 0x47f958
push ebx
push ebx
push ebx
push dword [ebp - 0x8c8]
push dword [ebp - 0x8a0]
call fcn.00420ad9
add esp, 0x14
lea ecx, [ebp - 0x21c]
call fcn.004e25e0
lea ecx, [ebp - 0x1c0]
call fcn.004e25e0
jmp 0x47f984
mov ecx, dword [0x5a22a0]
lea eax, [ebp - 0x8b8]
push ebx
push ebx
push eax
call fcn.0040cfc8
lea ecx, [ebp - 0x8b8]
call fcn.004ea61b
lea ecx, [ebp - 0x278]
call fcn.004e25e0
lea ecx, [ebp - 0x2d4]
jmp 0x47fa18
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push str.Available_Far_Manager_was_not_found_in_open_tabs
call fcn.00420ad9
add esp, 0x14
jmp 0x47fa1d
lea ecx, [ebp - 0x21c]
call fcn.004e25a1
mov ecx, dword [esi + 0x4c]
lea eax, [ebp - 0x21c]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
mov byte [ebp - 4], 5
call fcn.004874de
push eax
push str._not_found__nDirectory:
lea eax, [ebp - 0x53c]
push eax
push str.File_
call fcn.004e23a5
mov esi, eax
add esp, 0x24
test esi, esi
je 0x47fa12
xor eax, eax
inc eax
push eax
push 0xffffffffffffffff
push ebx
push 0x10
push esi
call fcn.00421ef1
push esi
call fcn.004e1bea
add esp, 0x18
lea ecx, [ebp - 0x21c]
call fcn.004e25e0
lea ecx, [ebp - 0x8f4]
call fcn.004d84a5
lea ecx, [ebp - 0x330]
call fcn.004e25e0
lea ecx, [ebp - 0x904]
call fcn.004d84a5
lea ecx, [ebp - 0x5a4]
call fcn.004e25e0
xor eax, eax
lea ebx, [eax + 1]
lea ecx, [ebp - 0x600]
call fcn.004e25e0
mov al, bl
jmp 0x47fa64
mov ecx, edi
call fcn.004800e1
call fcn.004f418c
ret 0xc