Function at 0x48a2ac
Capabilities:
Check for time delay via gettickcount
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18c
mov eax, dword [0x5836e0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x180], eax
xor ebx, ebx
mov dword [ebp - 0x178], edi
mov byte [eax], bl
push 0xa
mov eax, dword [edi + 0x39cc]
mov esi, dword [edi + 0x5dc]
mov dword [ebp - 0x130], eax
mov eax, dword [edi + 0x39b4]
mov byte [edi + 0x5d4], bl
mov ecx, dword [0x5a23ec]
mov dword [ebp - 0x12c], eax
mov eax, dword [edi + 0x39b8]
mov dword [ebp - 0x128], eax
mov eax, dword [edi + 0x614]
pop edx
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], esi
mov eax, dword [ecx + 0x113c0]
cmp eax, edx
push 0xa
cmova edx, eax
mov dword [ebp - 0x174], ebx
mov eax, dword [ecx + 0x113c4]
pop ecx
cmp eax, ecx
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x160], ebx
cmova ecx, eax
mov byte [ebp - 0x148], bl
mov dword [ebp - 0x168], ecx
mov byte [ebp - 0x147], bl
mov dword [ebp - 0x150], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x158], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16c], eax
xor eax, eax
test esi, esi
mov esi, 0x3e8
setne al
add eax, 4
mov dword [ebp - 0x15c], eax
mov ecx, dword [edi]
test ecx, ecx
je 0x48a3a6
push ebx
call fcn.004e1974
mov bl, al
mov byte [ebp - 0x14c], bl
test bl, bl
jne 0x48a3cb
mov ecx, dword [edi]
test ecx, ecx
je 0x48a3bf
call fcn.004e19c7
xor ecx, ecx
jmp 0x48a3c3
xor ecx, ecx
mov al, cl
test al, al
jne 0x48a3cb
mov bh, cl
jmp 0x48a3d2
xor eax, eax
inc eax
xor ecx, ecx
mov bh, al
push ecx
mov ecx, dword [edi + 4]
add ecx, 0x180
mov byte [ebp - 0x146], bh
call fcn.00432292
movzx eax, al
mov dword [ebp - 0x188], eax
test eax, eax
je 0x48a407
cmp dword [ebp - 0x168], 0x3e8
cmova esi, dword [ebp - 0x168]
jmp 0x48a42b
mov eax, dword [0x5a23ec]
mov esi, dword [ebp - 0x164]
movzx edx, bh
movzx ecx, bl
cmp byte [eax + 0x113cb], 0
cmovne edx, ecx
test dl, dl
cmove esi, dword [ebp - 0x168]
test bl, bl
je 0x48a440
mov ecx, dword [0x5a23f0]
xor eax, eax
inc eax
push eax
push 4
call fcn.0046c733
cmp dword [ebp - 0x120], 0
jne 0x48a46d
cmp dword [edi + 0x5dc], 0
je 0x48a46d
mov ecx, edi
call fcn.00497a2e
test al, al
jne 0x48a4a1
push dword [edi + 0x5d8]
push str.Server_was_terminated__WAIT_OBJECT_0__PID_u
jmp 0x48aefe
cmp dword [edi + 0xc], 0
je 0x48a4a1
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
sub eax, dword [ebp - 0x16c]
cmp eax, 0x1f4
jb 0x48a4a1
push dword [edi + 0xc]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x48aed1
call ebx
mov dword [ebp - 0x16c], eax
push esi
push 0
lea eax, [ebp - 0x130]
push eax
push dword [ebp - 0x15c]
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov ebx, eax
xor edx, edx
or eax, 0xffffffff
mov dword [ebp - 0x17c], ebx
cmp ebx, eax
jne 0x48a4ff
mov esi, edx
cmp dword [ebp - 0x15c], edx
jbe 0x48a4ff
mov edi, dword [ebp - 0x15c]
push edx
push dword [ebp + esi*4 - 0x130]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
push 0
cmove ebx, esi
inc esi
pop edx
cmp esi, edi
jb 0x48a4d8
mov edi, dword [ebp - 0x178]
mov dword [ebp - 0x17c], ebx
cmp byte [edi + 0x4ab1], 0
jne 0x48af1e
cmp byte [ebp - 0x14c], 0
jne 0x48a557
mov ecx, dword [edi]
test ecx, ecx
je 0x48a525
push edx
call fcn.004e1974
xor edx, edx
jmp 0x48a527
mov al, dl
mov byte [ebp - 0x14c], al
test al, al
jne 0x48a54e
mov ecx, dword [edi]
test ecx, ecx
je 0x48a540
call fcn.004e19c7
xor edx, edx
jmp 0x48a542
mov al, dl
test al, al
jne 0x48a54e
mov byte [ebp - 0x146], dl
jmp 0x48a557
xor eax, eax
inc eax
mov byte [ebp - 0x146], al
test ebx, ebx
je 0x48aee9
cmp ebx, 4
je 0x48aee9
cmp ebx, 3
je 0x48a576
cmp byte [edi + 0x61c], 0
je 0x48a597
mov ecx, edi
call fcn.00491688
mov ecx, edi
test al, al
jne 0x48a58a
xor eax, eax
push 0
inc eax
jmp 0x48a590
xor eax, eax
inc eax
push eax
xor eax, eax
push eax
push eax
call fcn.00493214
cmp ebx, 2
sete al
je 0x48a5bc
xor ecx, ecx
cmp dword [edi + 0x39bc], ecx
je 0x48a5be
push ecx
push dword [edi + 0x39b8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
neg eax
sbb al, al
inc al
xor ecx, ecx
test al, al
je 0x48a5fe
cmp dword [edi + 0x5d8], ecx
je 0x48a5ea
cmp byte [edi + 0x604], 0
je 0x48a5ea
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x39c0], eax
mov ecx, edi
xor eax, eax
inc eax
push eax
call fcn.00496932
push dword [edi + 0x39b8]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
xor ecx, ecx
mov dword [edi + 0x39bc], ecx
xor eax, eax
inc eax
cmp ebx, eax
je 0x48a616
push ecx
push dword [ebp - 0x12c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x48a667
push dword [ebp - 0x12c]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
xor eax, eax
cmp dword [ebp - 0x120], eax
jne 0x48a669
cmp dword [edi + 0x5dc], eax
je 0x48a669
cmp byte [ebp + 8], al
jne 0x48a642
cmp dword [edi + 0x3c50], 2
jne 0x48a669
push str.Updating_hEvents_IDEVENT_SERVERPH__with_mh_MainSrv
mov ecx, edi
mov byte [ebp + 8], al
call fcn.0048a02d
mov eax, dword [edi + 0x5dc]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x15c], 5
xor eax, eax
mov ebx, dword [ebp - 0x180]
cmp byte [ebx], 0
jne 0x48a6ab
cmp dword [edi + 0x4374], eax
jg 0x48a684
cmp dword [edi + 0x610], eax
je 0x48a6ab
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x184]
cmp eax, 0x3e8
jbe 0x48a6ab
xor eax, eax
inc eax
mov byte [ebx], al
mov ecx, dword [edi + 4]
push edi
mov byte [edi + 0x26e91], al
call fcn.004160a8
xor ebx, ebx
cmp dword [edi + 0x5c0], ebx
je 0x48a6d1
cmp dword [edi + 0xc], ebx
je 0x48a6d1
cmp dword [edi + 0x5d8], ebx
je 0x48a6d1
cmp byte [edi + 0x604], bl
je 0x48a6d1
mov ecx, edi
call fcn.0048fe5d
cmp byte [edi + 0x4a91], bl
jne 0x48a702
mov eax, dword [0x5a23ec]
cmp byte [eax + 0x113ec], bl
jne 0x48a702
push dword [edi + 0xc]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x48a702
xor eax, eax
mov ecx, edi
inc eax
push eax
push ebx
push dword [edi + 0xc]
call fcn.00493a33
cmp dword [edi + 0xc], ebx
je 0x48a70f
push ebx
mov ecx, edi
call fcn.00483a63
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18c], eax
cmp byte [edi + 0x5d4], bl
je 0x48a72e
mov byte [edi + 0x5d4], bl
call sub.KERNEL32.dll_DebugBreak
mov esi, dword [edi + 0x4294]
xor ecx, ecx
mov eax, dword [ebp - 0x158]
inc ecx
mov dword [ebp - 0x170], esi
cmp esi, eax
je 0x48a753
mov byte [ebp - 0x150], cl
mov byte [edi + 0x4298], cl
cmp dword [edi + 0x4288], esi
je 0x48a796
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x26e8c], eax
mov eax, dword [ebp - 0x158]
cmp esi, eax
jne 0x48a78a
mov ecx, dword [edi + 0x4294]
call fcn.00481b1b
test al, al
mov eax, dword [ebp - 0x158]
je 0x48a9e7
mov byte [ebp - 0x150], 1
jmp 0x48a9e7
cmp byte [edi + 0x457c], bl
jne 0x48a9e7
cmp dword [edi + 0x5600], ebx
je 0x48a9e7
push ecx
mov ecx, edi
mov byte [ebp - 0x145], bl
call fcn.00487c63
mov ebx, eax
test ebx, ebx
jne 0x48a824
push eax
mov ecx, edi
call fcn.00487c63
mov ecx, eax
xor eax, eax
test ecx, ecx
je 0x48a7f2
mov esi, dword [edi + 0x4578]
mov edx, eax
test esi, esi
je 0x48a7f2
lea eax, [edi + 0x4378]
cmp dword [eax], ecx
je 0x48a81a
inc edx
add eax, 4
cmp edx, esi
jb 0x48a7e4
xor eax, eax
cmp dword [ebp - 0x160], 0
je 0x48a881
push eax
mov ecx, edi
call fcn.00483de7
and dword [ebp - 0x160], 0
mov byte [ebp - 0x145], 1
jmp 0x48a8d1
mov ebx, ecx
push ecx
mov ecx, edi
call fcn.004920d1
cmp dword [ebp - 0x160], ebx
je 0x48a881
and dword [edi + 0x26e8c], 0
mov ecx, edi
mov dword [ebp - 0x160], ebx
call fcn.0048c897
test al, al
jne 0x48a878
cmp dword [edi + 0x27044], ebx
jne 0x48a878
xor edx, edx
mov ecx, edx
cmp dword [edi + 0x4578], edx
jbe 0x48a870
lea eax, [edi + 0x4378]
cmp dword [eax], ebx
jne 0x48a864
mov dword [eax], edx
inc ecx
add eax, 4
cmp ecx, dword [edi + 0x4578]
jb 0x48a85e
push edx
mov ecx, edi
call fcn.004920d1
xor eax, eax
inc eax
mov byte [ebp - 0x145], al
xor eax, eax
mov byte [ebp - 0x151], al
test ebx, ebx
je 0x48a8d1
cmp dword [edi + 0x6044], eax
je 0x48a8d1
push eax
push eax
push eax
lea ebx, [edi + 0x4ad0]
push eax
mov ecx, ebx
call fcn.004f3b8c
test eax, eax
je 0x48a8d1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov eax, dword [edi + 0x26e8c]
test eax, eax
je 0x48a8d5
mov ecx, esi
sub ecx, eax
mov eax, dword [0x5a23ec]
mov eax, dword [eax + 0x10fb0]
shr eax, 1
cmp ecx, eax
jae 0x48a8d5
mov bl, 1
jmp 0x48a8fe
xor eax, eax
mov ecx, ebx
inc eax
push eax
push 0
call fcn.004f3c7d
test eax, eax
jne 0x48a8f8
xor ebx, ebx
inc ebx
test esi, esi
mov eax, ebx
cmovne eax, esi
mov dword [edi + 0x26e8c], eax
jmp 0x48a8fe
mov bl, byte [ebp - 0x151]
cmp byte [ebp - 0x14c], 0
je 0x48a94e
cmp byte [ebp - 0x148], bl
jne 0x48a918
cmp byte [ebp - 0x147], 0
jne 0x48a932
mov ecx, dword [edi]
add ecx, 0xc
call fcn.004cfc3f
or ecx, 0xffffffff
push ecx
push ecx
push 0x20
pop ecx
push ecx
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
cmp byte [ebp - 0x145], 0
mov byte [ebp - 0x147], 1
je 0x48a955
mov ecx, dword [edi + 4]
push 0
call fcn.0041ce03
jmp 0x48a955
mov byte [ebp - 0x147], 0
mov byte [ebp - 0x148], bl
lea ecx, [edi + 0x53e8]
push 1
xor ebx, ebx
push ebx
call fcn.004f3c7d
test eax, eax
jne 0x48a9db
cmp byte [edi + 0x4ac2], bl
je 0x48a9b9
cmp dword [edi + 0x5dc], ebx
je 0x48a98e
mov ecx, edi
call fcn.00497a2e
test al, al
je 0x48aedb
cmp byte [edi + 0x4ac2], bl
je 0x48a9b9
xor eax, eax
mov ecx, edi
inc eax
push eax
call fcn.00497a64
test al, al
jne 0x48a9b9
cmp byte [edi + 0x42b4], bl
je 0x48a9b9
mov byte [edi + 0x4ac2], bl
mov byte [edi + 0x42b4], bl
mov ecx, dword [edi + 0x4288]
call fcn.00477c0c
mov ecx, dword [ebp - 0x150]
test al, al
push 1
movzx ecx, cl
pop eax
cmovne ecx, eax
mov dword [ebp - 0x150], ecx
mov eax, dword [ebp - 0x158]
mov esi, dword [ebp - 0x170]
xor ecx, ecx
mov byte [ebp - 0x145], cl
cmp byte [ebp - 0x14c], cl
je 0x48a9ff
cmp dword [ebp - 0x188], ecx
je 0x48aa45
cmp esi, eax
jne 0x48aa12
mov ecx, dword [edi + 0x4294]
call fcn.00481b1b
test al, al
je 0x48aa43
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub eax, dword [edi + 0x42a4]
cmp eax, 0x1f4
jbe 0x48aa43
mov dword [edi + 0x42a4], ecx
mov ecx, dword [edi]
call fcn.004dc481
test al, al
movzx ebx, bl
push 1
pop eax
cmovne ebx, eax
xor ecx, ecx
jmp 0x48aa48
xor ecx, ecx
xor eax, eax
inc eax
cmp byte [edi + 0x26e90], 0
jne 0x48aa5a
cmp byte [edi + 0x496d], 0
je 0x48aa78
mov byte [edi + 0x496d], cl
mov byte [edi + 0x26e90], cl
mov ecx, edi
mov byte [ebp - 0x150], al
call fcn.00483813
xor eax, eax
lea ebx, [eax + 1]
test bl, bl
jne 0x48aa94
xor ebx, ebx
cmp dword [edi + 0x3994], ebx
jne 0x48aa96
test dword [edi + 0x4a88], 0x60000
je 0x48aaa8
jmp 0x48aa96
xor ebx, ebx
mov ecx, edi
call fcn.0048358c
mov ecx, dword [edi + 0x4288]
call fcn.0047a209
cmp dword [edi + 0x27044], ebx
je 0x48ab1a
mov esi, dword [0x5a23ec]
add esi, 0x11230
push 0x555ed0
push esi
call fcn.004f68e6
pop ecx
pop ecx
test eax, eax
jne 0x48ab00
push 0x555ed8
push esi
call fcn.004f68e6
pop ecx
pop ecx
test eax, eax
jne 0x48ab00
push 0x555ee0
push esi
call fcn.004f68e6
pop ecx
pop ecx
test eax, eax
jne 0x48ab00
push 0x555ee8
push esi
call fcn.004f68e6
pop ecx
pop ecx
test eax, eax
je 0x48ab1a
mov ecx, edi
call fcn.00491479
test al, al
je 0x48ab1a
mov ecx, dword [edi + 4]
push ebx
mov ecx, dword [ecx + 0x3e64]
call fcn.004c0535
cmp word [edi + 0x3998], bx
jl 0x48ab6e
or esi, 0xffffffff
cmp word [edi + 0x399a], si
jne 0x48ab6e
cmp dword [edi + 0x399c], ebx
je 0x48ab6e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x399c]
cmp eax, 0x5dc
jb 0x48ab6e
push ebx
push esi
push str.Clearing_console_progress_due_timeout
mov ecx, edi
call fcn.00497b0c
push esi
mov ecx, edi
call fcn.004981bb
xor ebx, ebx
mov ecx, edi
inc ebx
push ebx
push esi
call fcn.004982d9
jmp 0x48ab74
mov bl, byte [ebp - 0x145]
cmp dword [edi + 0x18], 0
mov bh, byte [ebp - 0x14c]
je 0x48aba8
test bh, bh
je 0x48aba8
push dword [edi + 0x18]
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov esi, eax
cmp esi, dword [ebp - 0x174]
je 0x48aba8
mov ecx, dword [edi + 0x4294]
call fcn.0047d5f7
mov dword [ebp - 0x174], esi
xor ecx, ecx
cmp dword [edi + 0x18], ecx
jne 0x48abdb
cmp dword [edi + 0xc], ecx
je 0x48ac48
cmp dword [edi + 0x5d8], ecx
je 0x48ac48
cmp byte [edi + 0x604], cl
je 0x48ac48
mov ecx, dword [edi + 0x4288]
call fcn.00481e7c
test al, al
jne 0x48ac46
mov eax, dword [edi + 0x18]
test eax, eax
je 0x48abe7
cmp eax, 0xffffffff
jne 0x48abea
mov eax, dword [edi + 0xc]
push 0x3ff
lea esi, [edi + 0x1648]
push esi
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jg 0x48ac08
xor eax, eax
mov word [esi], ax
jmp 0x48ac46
cmp eax, 0x401
jb 0x48ac1d
xor ecx, ecx
mov eax, 0x3ff
mov word [edi + 0x1e48], cx
test eax, eax
jle 0x48ac46
lea ecx, [edi + 0x1648]
push 0x20
lea ecx, [ecx + eax*2]
pop edi
cmp word [ecx - 2], di
jne 0x48ac40
sub ecx, 2
dec eax
xor edx, edx
mov word [ecx], dx
test eax, eax
jg 0x48ac2d
mov edi, dword [ebp - 0x178]
xor ecx, ecx
test bl, bl
jne 0x48acb4
cmp byte [edi + 0x318a], bl
jne 0x48acb4
lea eax, [edi + 0x1648]
cmp word [eax], cx
je 0x48ac9a
lea ecx, [edi + 0xe46]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x48ac8d
test dx, dx
je 0x48ac87
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x48ac8d
add ecx, 4
add eax, 4
test dx, dx
jne 0x48ac65
xor ecx, ecx
mov eax, ecx
jmp 0x48ac96
sbb eax, eax
xor ecx, ecx
inc ecx
or eax, ecx
xor ecx, ecx
test eax, eax
jne 0x48acb4
test bh, bh
je 0x48acc1
xor eax, eax
mov ecx, edi
inc eax
push eax
call fcn.0048877a
mov ecx, dword [edi + 4]
push eax
call fcn.0040c096
jmp 0x48acc1
mov byte [edi + 0x318a], cl
mov ecx, edi
call fcn.0048c3c4
cmp byte [ebp - 0x146], 0
jne 0x48ada3
cmp byte [ebp - 0x150], 0
je 0x48ace1
mov ecx, dword [edi]
xor eax, eax
push eax
call fcn.004e1576
xor ebx, ebx
mov eax, dword [edi + 0x4294]
mov dword [ebp - 0x158], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x18c]
push 0xa
pop ecx
cmp eax, ecx
cmova ecx, eax
mov eax, dword [ebp - 0x164]
movd xmm0, ecx
movd xmm1, eax
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
shr eax, 0x1f
cvtdq2pd xmm1, xmm1
addsd xmm0, qword [ecx*8 + 0x5341f0]
addsd xmm1, qword [eax*8 + 0x5341f0]
mulsd xmm0, qword [str.333333]
mulsd xmm1, qword [0x55a280]
addsd xmm0, xmm1
call fcn.004f4f31
mov ecx, dword [edi + 0x42a8]
mov esi, 0x3e8
cmp eax, esi
cmova eax, esi
mov dword [ebp - 0x164], eax
test ecx, ecx
je 0x48a398
cmp ecx, dword [edi + 0x5d8]
jne 0x48a398
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x42ac]
cmp eax, 0x7d0
jb 0x48a398
push str.Terminating_MonitorThreadWorker_by_m_ServerClosing.nServerPID
mov ecx, edi
call fcn.00489fb2
mov ecx, edi
call fcn.00497047
jmp 0x48af1b
mov ebx, dword [ebp - 0x150]
test bl, bl
je 0x48adcf
mov ecx, dword [0x5a22a0]
xor eax, eax
push eax
lea ecx, [ecx + 0x180]
call fcn.00432292
test al, al
je 0x48adcf
mov ecx, dword [edi]
xor eax, eax
push eax
call fcn.004e1576
xor eax, eax
inc eax
cmp dword [ebp - 0x17c], eax
je 0x48aea2
test bl, bl
jne 0x48aea2
push dword [ebp - 0x14c]
xor ebx, ebx
mov ecx, edi
push ebx
call fcn.0048702d
mov ecx, dword [0x5a23ec]
push eax
call fcn.0045e98e
mov ecx, eax
call fcn.004a27ed
test al, al
je 0x48ae49
cmp byte [edi + 0x26e91], bl
je 0x48ae49
mov ecx, dword [edi]
lea eax, [ebp - 0x146]
push eax
mov byte [ebp - 0x146], bl
call fcn.004df227
cmp byte [ebp - 0x146], bl
je 0x48ace3
push 3
mov ecx, edi
call fcn.00497662
test eax, eax
je 0x48ae79
push str.Invalidating_from_CRealConsole::MonitorThread.1
jmp 0x48ae72
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x27048]
cmp eax, 0x12c
jbe 0x48ace3
push 3
mov ecx, edi
call fcn.00497662
test eax, eax
je 0x48ae79
push str.Invalidating_from_CRealConsole::MonitorThread.2
mov ecx, edi
call fcn.00489fb2
mov ecx, dword [edi]
add ecx, 0xc
call fcn.004cfc3f
test eax, eax
je 0x48ae91
mov ecx, dword [edi]
add ecx, 0xc
call fcn.004cfd94
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x27048], eax
jmp 0x48ace3
xor ebx, ebx
mov ecx, edi
push 3
mov byte [ebp - 0x150], bl
call fcn.00497662
test eax, eax
je 0x48aec3
push str.mp_VCon__Update_from_CRealConsole::MonitorThread
mov ecx, edi
call fcn.00489fb2
mov ecx, dword [edi]
push ebx
push ebx
call fcn.004deeb9
jmp 0x48ace3
push dword [edi + 0xc]
push str.Console_window_0x_08X_was_abnormally_terminated_
jmp 0x48aefe
push str.Terminating_MonitorThreadWorker_by_mb_InCloseConsole___isServerAlive
mov ecx, edi
call fcn.00489fb2
jmp 0x48af1b
test ebx, ebx
mov eax, str.IDEVENT_TERM
mov ecx, str.IDEVENT_SERVERPH
cmovne eax, ecx
push eax
push str.Terminating_MonitorThreadWorker_by__s
lea eax, [ebp - 0x11c]
push eax
call fcn.00409b93
add esp, 0xc
lea eax, [ebp - 0x11c]
mov ecx, edi
push eax
call fcn.0048a02d
push 4
pop ebx
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004f4166
leave
ret 8