Function at 0x496f60
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
push ebx
push esi
mov esi, ecx
xor ebx, ebx
cmp esi, ebx
je 0x4973b5
cmp dword [esi + 0x940], ebx
jne 0x496f92
cmp dword [esi + 0x944], ebx
jne 0x496f92
call fcn.0048a7c0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x10]
cmp eax, ebx
je 0x4970a1
cmp eax, 0xffffffff
je 0x4970a1
cmp eax, ebx
je 0x4970a1
mov eax, dword [0x52fe30]
cmp byte [eax + 0x11428], bl
je 0x497081
mov ecx, dword [0x52fe2c]
call fcn.0040acd0
test al, al
jne 0x497081
xor eax, eax
cmp word [esi + 0x3cf4], bx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 1
jle 0x497008
movzx eax, word [esi + 0x3cf6]
jmp 0x49702d
movzx eax, word [esi + 0x3ce0]
cmp ax, bx
jl 0x497019
movzx eax, ax
jmp 0x49702d
movzx eax, word [esi + 0x3ce4]
cmp ax, bx
jl 0x49702a
movzx eax, ax
jmp 0x49702d
or eax, 0xffffffff
xor ecx, ecx
cmp ax, bx
setge cl
mov dword [ebp - 0x1c], ecx
mov ecx, esi
call fcn.00488220
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x24]
lea edx, [esi + 0x1198]
push eax
mov dword [ebp - 8], str.Confirm_closing_active_child_window_
mov dword [ebp - 4], edx
call fcn.0042eb40
add esp, 4
cmp eax, 6
je 0x497075
mov dword [esi + 0x495c], ebx
mov byte [esi + 0x4960], bl
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x495c], eax
mov eax, dword [esi + 0x10]
cmp eax, ebx
je 0x49708d
cmp eax, 0xffffffff
jne 0x49708f
xor eax, eax
push ebx
push ebx
push 0x10
push eax
mov ecx, esi
call fcn.0048a640
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x46c8]
cmp ecx, ebx
je 0x4970c7
mov eax, dword [esi + 0x4924]
test al, 4
je 0x4970c7
test al, 0x10
jne 0x4970c7
mov eax, dword [esi + 0x6b94]
cmp eax, ebx
je 0x4970c7
cmp eax, ecx
je 0x4970c9
xor eax, eax
cmp eax, ebx
setne al
push edi
test al, al
je 0x497244
mov ecx, esi
mov ebx, 1
call fcn.004893a0
test al, al
jne 0x497244
push ebx
mov ecx, esi
call fcn.00487110
push eax
lea ecx, [ebp - 0x224]
push str.Far_Manager__PID_u__is_not_alive._nClose_realconsole_window_instead_of_posting_Macro_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [0x52fe2c]
add esp, 0xc
push ebx
push 0xffffffffffffffff
call fcn.00409d20
push eax
lea edx, [ebp - 0x224]
push 0x33
push edx
call fcn.004262f0
add esp, 0x14
sub eax, 2
je 0x4973b4
sub eax, 4
je 0x4973a7
mov eax, dword [esi + 0x491c]
and eax, 0xff
cmp eax, 3
jne 0x497152
mov edi, str.Confirm_closing_Far_editor_
jmp 0x497161
mov edi, str.Confirm_closing_Far_viewer_
cmp eax, 2
je 0x497161
mov edi, str.Confirm_closing_console_
mov eax, dword [0x52fe30]
cmp byte [eax + 0x11428], 0
je 0x497389
mov ecx, dword [0x52fe2c]
call fcn.0040acd0
test al, al
jne 0x497389
xor eax, eax
cmp word [esi + 0x3cf4], ax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], ebx
jle 0x4971b8
movzx eax, word [esi + 0x3cf6]
jmp 0x4971dd
movzx eax, word [esi + 0x3ce0]
test ax, ax
jl 0x4971c9
movzx eax, ax
jmp 0x4971dd
movzx eax, word [esi + 0x3ce4]
test ax, ax
jl 0x4971da
movzx eax, ax
jmp 0x4971dd
or eax, 0xffffffff
xor ecx, ecx
test ax, ax
setge cl
mov dword [ebp - 0x1c], ecx
mov ecx, esi
call fcn.00488220
mov dword [ebp - 0x18], eax
test edi, edi
je 0x4971fb
mov dword [ebp - 8], edi
jmp 0x497215
mov eax, dword [esi + 0x10]
test eax, eax
je 0x49720e
mov dword [ebp - 8], str.Confirm_closing_active_child_window_
cmp eax, 0xffffffff
jne 0x497215
mov dword [ebp - 8], str.Confirm_closing_console_
lea eax, [ebp - 0x24]
lea edx, [esi + 0x1198]
push eax
mov dword [ebp - 4], edx
call fcn.0042eb40
add esp, 4
cmp eax, 6
jne 0x497361
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x495c], eax
jmp 0x497389
mov ecx, dword [0x52fe30]
mov edi, str.Confirm_closing_console_
test ebx, ebx
je 0x497294
mov eax, dword [esi + 0x491c]
and eax, 0xff
cmp eax, 3
jne 0x49726a
mov edi, str.Confirm_closing_Far_editor_
jmp 0x497279
mov edi, str.Confirm_closing_Far_viewer_
cmp eax, 2
je 0x497279
mov edi, str.Confirm_closing_console_
cmp byte [ecx + 0x11429], 0
jne 0x497294
cmp eax, 3
je 0x497385
cmp eax, 2
je 0x497385
cmp byte [ecx + 0x11428], 0
je 0x497385
mov ecx, dword [0x52fe2c]
call fcn.0040acd0
test al, al
jne 0x497385
xor eax, eax
cmp word [esi + 0x3cf4], ax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 1
jle 0x4972ea
movzx eax, word [esi + 0x3cf6]
jmp 0x49730f
movzx eax, word [esi + 0x3ce0]
test ax, ax
jl 0x4972fb
movzx eax, ax
jmp 0x49730f
movzx eax, word [esi + 0x3ce4]
test ax, ax
jl 0x49730c
movzx eax, ax
jmp 0x49730f
or eax, 0xffffffff
xor ecx, ecx
test ax, ax
setge cl
mov dword [ebp - 0x1c], ecx
mov ecx, esi
call fcn.00488220
mov dword [ebp - 0x18], eax
test edi, edi
je 0x49732d
mov dword [ebp - 8], edi
jmp 0x497347
mov eax, dword [esi + 0x10]
test eax, eax
je 0x497340
mov dword [ebp - 8], str.Confirm_closing_active_child_window_
cmp eax, 0xffffffff
jne 0x497347
mov dword [ebp - 8], str.Confirm_closing_console_
lea eax, [ebp - 0x24]
lea edx, [esi + 0x1198]
push eax
mov dword [ebp - 4], edx
call fcn.0042eb40
add esp, 4
cmp eax, 6
je 0x497379
pop edi
mov dword [esi + 0x495c], 0
mov byte [esi + 0x4960], 0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x495c], eax
test ebx, ebx
je 0x4973a7
mov ecx, dword [0x52fe30]
push 1
push 0
call fcn.00450630
push eax
mov ecx, esi
call fcn.0048ce20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 1
push 0
push 0
mov ecx, esi
call fcn.00496a60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret