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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x111e8a47
mov eax, dword fs:[0]
push eax
mov eax, 0x4c50
call fcn.111d92c0
mov eax, dword [0x11279148]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov bl, byte [ebp + 0xc]
xor esi, esi
mov dword [ebp - 0x4bf4], esi
test bl, bl
je 0x11163971
cmp dword [0x1127ef54], esi
je 0x11163971
cmp dword [0x1127ef50], esi
je 0x11163971
call fcn.111a9a40
mov byte [ebp - 0x4bea], 1
test eax, eax
jne 0x11163978
mov byte [ebp - 0x4bea], 0
mov ecx, dword [0x1127aa68]
push esi
push esi
push str.traceTS
push str._debug
mov byte [ebp - 0x4bec], 0
call fcn.110bbc00
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x4c18], eax
mov dword [ebp - 0x4bf8], esi
mov dword [ebp - 0x4c14], esi
mov byte [ebp - 0x4beb], 0
test bl, bl
je 0x111639c0
mov bl, 1
jmp 0x11163b08
mov byte [ebp - 0x4be9], 0
call edi
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call edi
mov ebx, eax
sub eax, esi
mov dword [ebp - 0x4c3c], ebx
cmp eax, 0x64
jb 0x111639f5
push eax
push str.Warning._took__d_ms_to_get_simap_lock_n
call fcn.111bd7b0
add esp, 8
mov eax, dword [0x1127f1dc]
mov edi, dword [eax]
cmp edi, eax
je 0x11163acb
mov esi, dword [edi + 0x10]
lea eax, [esi + 0x68]
push str.RDV_GRAPHICS_SERVICE
push eax
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x11163a75
lea ebx, [esi + 0x268]
push str.RDV_GRAPHICS_SERVICE
push ebx
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x11163a75
mov ecx, esi
call fcn.1114d080
test eax, eax
jne 0x11163a46
xor ecx, ecx
mov word [ebx], cx
mov eax, dword [esi]
test eax, eax
jle 0x11163a75
cmp eax, 0xffff
jge 0x11163a75
mov ecx, esi
call fcn.1114d080
test eax, eax
jne 0x11163a75
cmp dword [esi + 0x50], eax
jne 0x11163a68
cmp dword [esi + 0x64], eax
je 0x11163a75
cmp word [ebx], 0
jne 0x11163a75
mov byte [ebp - 0x4be9], 1
cmp byte [edi + 0x15], 0
jne 0x11163ab9
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x15], 0
jne 0x11163a9e
mov eax, dword [ecx]
cmp byte [eax + 0x15], 0
jne 0x11163a9a
lea esp, [esp]
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x15], 0
je 0x11163a90
mov edi, ecx
jmp 0x11163ab9
mov eax, dword [edi + 4]
cmp byte [eax + 0x15], 0
jne 0x11163ab7
cmp edi, dword [eax + 8]
jne 0x11163ab7
mov edi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x11163aa7
mov edi, eax
cmp edi, dword [0x1127f1dc]
jne 0x11163a04
mov ebx, dword [ebp - 0x4c3c]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
sub eax, ebx
cmp eax, 0x64
jb 0x11163af5
push eax
push str.Warning._simap_lock_held_for__d_ms_n
call fcn.111bd7b0
add esp, 8
cmp byte [ebp - 0x4be9], 0
je 0x111643dc
mov bl, byte [ebp - 0x4be9]
mov eax, dword [0x1127ef4c]
movzx ecx, byte [ebp + 0xc]
movzx edx, bl
push edx
push eax
push ecx
push str.LaunchClientsForTS_first_d___gnCheckTSClients_d__enum_d_n
call fcn.111bd7b0
add esp, 0x10
test bl, bl
je 0x111643dc
mov ecx, dword [0x1127aa68]
xor edx, edx
push edx
push edx
push str.UsePsapi
push 0x11218928
mov word [ebp - 0x9c], dx
call fcn.110bbc00
mov esi, eax
test esi, esi
jne 0x11163ba3
mov ecx, dword [0x1127aa68]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push esi
push 0x80
lea edx, [ebp - 0x9c]
push edx
push str.psapiExe
push 0x11218928
call eax
cmp word [ebp - 0x9c], si
jne 0x11163b98
xor eax, eax
movzx ecx, word [eax + str.kmservc.exe]
mov word [ebp + eax - 0x9c], cx
add eax, 2
test cx, cx
jne 0x11163b81
cmp byte [ebp + 0xc], 0
je 0x11163ba3
mov esi, 1
push esi
lea ecx, [ebp - 0x4be8]
call fcn.110fb700
mov ecx, dword [0x1127aa68]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push 0
push 0x400
lea eax, [ebp - 0x8a4]
push eax
push str.SessionServers
push 0x11218928
mov dword [ebp - 4], 0
call edx
test eax, eax
jg 0x11163bf8
xor eax, eax
movzx ecx, word [eax + str.netpoint.exe]
mov word [ebp + eax - 0x8a4], cx
add eax, 2
test cx, cx
jne 0x11163be1
cmp word [ebp - 0x8a4], 0
je 0x11163d43
lea eax, [ebp - 0x4c24]
push eax
lea ecx, [ebp - 0x4be8]
call fcn.110fbd80
mov esi, dword [ebp - 0x4c1c]
mov edi, dword [ebp - 0x4c24]
mov byte [ebp - 4], 1
jmp 0x11163c30
lea ecx, [ebp - 0x4c5c]
push ecx
lea ecx, [ebp - 0x4be8]
call fcn.110fbda0
mov edx, dword [ebp - 0x4c20]
cmp edx, dword [eax + 4]
jne 0x11163c55
cmp edi, dword [eax]
jne 0x11163c55
xor bl, bl
jmp 0x11163c57
mov bl, 1
mov eax, dword [ebp - 0x4c54]
test eax, eax
je 0x11163c72
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x4c54], 0
test bl, bl
je 0x11163d38
mov ebx, dword [ebp - 0x4c20]
push edi
mov ecx, ebx
call fcn.110fba20
test eax, eax
jne 0x11163d12
mov word [ebp - 0xaac], ax
test esi, esi
jne 0x11163ccd
cmp byte [ebx + 0x4060], al
je 0x11163cb3
mov edx, dword [ebx + 0x4058]
mov ecx, edi
add ecx, ecx
mov eax, dword [edx + ecx*8 + 4]
jmp 0x11163cb7
mov eax, dword [ebx + edi*4 + 0x24]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
mov dword [ebp - 0x4c1c], esi
push 0x104
lea eax, [ebp - 0xaac]
push eax
push esi
push edi
mov ecx, ebx
call fcn.110fbaf0
test eax, eax
je 0x11163d12
push eax
lea ecx, [ebp - 0x8a4]
push ecx
call fcn.11198bf0
add esp, 8
test eax, eax
je 0x11163d12
lea edx, [ebp - 0x8a4]
cmp eax, edx
je 0x11163d31
movzx eax, word [eax - 2]
cmp eax, 0x2c
je 0x11163d31
cmp eax, 0x3b
je 0x11163d31
test esi, esi
je 0x11163d25
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
mov dword [ebp - 0x4c1c], esi
inc edi
mov dword [ebp - 0x4c24], edi
jmp 0x11163c30
mov byte [ebp - 0x4beb], 1
test esi, esi
je 0x11163d43
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x4c04]
push eax
lea ecx, [ebp - 0x4be8]
call fcn.110fbd80
mov edi, dword [ebp - 0x4c00]
mov esi, dword [ebp - 0x4c04]
mov byte [ebp - 4], 2
jmp 0x11163d70
lea ecx, [ebp - 0x4c50]
push ecx
lea ecx, [ebp - 0x4be8]
call fcn.110fbda0
cmp edi, dword [eax + 4]
jne 0x11163d8f
cmp esi, dword [eax]
jne 0x11163d8f
xor bl, bl
jmp 0x11163d91
mov bl, 1
mov eax, dword [ebp - 0x4c48]
test eax, eax
je 0x11163dac
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x4c48], 0
test bl, bl
je 0x11164340
cmp byte [edi + 0x4060], 0
je 0x11163dd3
mov eax, dword [edi + 0x4058]
mov edx, esi
add edx, edx
mov ecx, dword [eax + edx*8 + 4]
mov dword [ebp - 0x4c10], ecx
jmp 0x11163ddd
mov edx, dword [edi + esi*4 + 0x24]
mov dword [ebp - 0x4c10], edx
cmp dword [ebp - 0x4c10], 0
je 0x11164313
xor eax, eax
push esi
mov ecx, edi
mov word [ebp - 0x4a4], ax
call fcn.110fba20
mov dword [ebp - 0x4c0c], eax
test eax, eax
jle 0x1116427f
push eax
call fcn.111611c0
add esp, 4
mov dword [ebp - 0x4c08], eax
test eax, eax
je 0x11164313
cmp byte [ebp + 0xc], 0
je 0x11163ebc
cmp dword [ebp - 0x4c18], 0
je 0x11163ebc
mov ebx, dword [ebp - 0x4bfc]
test ebx, ebx
jne 0x11163e73
cmp byte [edi + 0x4060], bl
je 0x11163e59
mov edx, dword [edi + 0x4058]
mov ecx, esi
add ecx, ecx
mov eax, dword [edx + ecx*8 + 4]
jmp 0x11163e5d
mov eax, dword [edi + esi*4 + 0x24]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
mov dword [ebp - 0x4bfc], ebx
push 0x104
lea eax, [ebp - 0x4a4]
push eax
push ebx
push esi
mov ecx, edi
call fcn.110fbaf0
mov ecx, eax
test eax, eax
jne 0x11163e93
mov ecx, str.null
push ecx
mov ecx, dword [ebp - 0x4c08]
mov edx, dword [ecx + 0x50]
mov ecx, dword [ebp - 0x4c0c]
push eax
mov eax, dword [ebp - 0x4c10]
push edx
push eax
push ecx
push str.sid_d__pid_d__logon_u__fn_p___s__n
call fcn.111bd7b0
add esp, 0x18
jmp 0x11163ec2
mov ebx, dword [ebp - 0x4bfc]
mov eax, dword [ebp - 0x4c08]
cmp dword [eax + 0x50], 0
jne 0x11163ede
cmp dword [eax + 0x64], 0
jne 0x11163ede
cmp byte [ebp + 0xc], 0
je 0x11164313
mov ecx, dword [ebp - 0x4c08]
call fcn.1114d080
test eax, eax
je 0x11163f01
mov edx, dword [ebp - 0x4c08]
cmp word [edx + 0x268], 0
jne 0x11164313
test ebx, ebx
jne 0x11163f37
cmp byte [edi + 0x4060], bl
je 0x11163f1d
mov ecx, dword [edi + 0x4058]
mov eax, esi
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
jmp 0x11163f21
mov eax, dword [edi + esi*4 + 0x24]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
mov dword [ebp - 0x4bfc], ebx
push 0x104
lea edx, [ebp - 0x4a4]
push edx
push ebx
push esi
mov ecx, edi
call fcn.110fbaf0
mov dword [ebp - 0x4bf0], eax
test eax, eax
je 0x11164313
mov eax, dword [ebp - 0x4c0c]
mov ecx, dword [0x1127b220]
push 0xffffffffffffffff
push eax
call fcn.1114e820
mov esi, eax
cmp esi, 4
je 0x11164313
cmp dword [0x1127aa48], 0x120003
jl 0x11163fd4
call fcn.111a9a40
test eax, eax
jne 0x11163fd4
cmp esi, 0xffffffff
je 0x11163fd4
mov ebx, dword [ebp - 0x4c08]
push 0xa
push str.NC_VSpace
mov ecx, ebx
call fcn.1114d290
push eax
call dword [sym.imp.MSVCR100.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x11163fbe
test esi, esi
je 0x11163fda
cmp esi, 1
je 0x11163fda
call fcn.111489a0
test al, al
jne 0x11163fda
cmp byte [ebp - 0x4beb], al
jne 0x11163fda
jmp 0x11164313
mov ebx, dword [ebp - 0x4c08]
cmp word [ebx + 0x268], 0
jne 0x11164140
mov eax, dword [ebp - 0x4bfc]
xor ecx, ecx
mov word [ebp - 0x29c], cx
test eax, eax
jne 0x11164035
cmp byte [edi + 0x4060], cl
je 0x11164017
mov edx, dword [ebp - 0x4c04]
mov eax, dword [edi + 0x4058]
add edx, edx
mov eax, dword [eax + edx*8 + 4]
jmp 0x11164021
mov ecx, dword [ebp - 0x4c04]
mov eax, dword [edi + ecx*4 + 0x24]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x4bfc], eax
lea edx, [ebp - 0x1c]
push edx
push 0
push 0
push 0x100
lea ecx, [ebp - 0x29c]
push ecx
push eax
call fcn.110fc0e0
add esp, 0x18
cmp byte [ebp + 0xc], 0
mov esi, eax
je 0x111640ab
cmp dword [ebp - 0x4c18], 0
je 0x111640ab
movzx edx, byte [ebp - 0x15]
movzx eax, byte [ebp - 0x16]
movzx ecx, byte [ebp - 0x17]
push edx
movzx edx, byte [ebp - 0x18]
push eax
movzx eax, byte [ebp - 0x19]
push ecx
movzx ecx, byte [ebp - 0x1a]
push edx
movzx edx, byte [ebp - 0x1b]
push eax
movzx eax, byte [ebp - 0x1c]
push ecx
push edx
mov edx, dword [ebp - 0x4c10]
push eax
mov eax, dword [ebp - 0x4bf0]
lea ecx, [ebp - 0x1c]
push ecx
push esi
push edx
push eax
push str.basename_s__pid_d__utype_d__src_.8hs___.02x_.02x_.02x_.02x_.02x_.02x_.02x_.02x__n
call fcn.111bd7b0
add esp, 0x34
cmp esi, 1
jle 0x11164140
mov ecx, dword [ebp - 0x4bf0]
push str.userinit.exe
push ecx
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x11164140
mov edx, dword [ebp - 0x4bf0]
push str.taskhost.exe
push edx
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x11164140
mov eax, dword [ebp - 0x4bf0]
push str.taskeng.exe
push eax
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x11164140
mov ecx, dword [ebp - 0x4bf0]
mov eax, dword [ebp - 0x4c0c]
push ecx
lea edx, [ebp - 0x29c]
push edx
push eax
push str.enum_SetUserNameEnummed__d__s_from__s_n
call fcn.111bd7b0
lea eax, [ebp - 0x29c]
lea edx, [ebx + 0x268]
mov ecx, eax
add esp, 0x10
sub edx, ecx
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x11164131
mov ecx, ebx
call fcn.1114d080
mov esi, dword [ebp - 0x4bf0]
test eax, eax
jne 0x1116422e
push 0x1127ad98
push esi
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x111641f7
mov esi, dword [ebp - 0x4c04]
cmp byte [edi + 0x4060], al
je 0x1116418a
mov eax, dword [edi + 0x4058]
mov edx, esi
add edx, edx
mov eax, dword [eax + edx*8 + 4]
jmp 0x1116418e
mov eax, dword [edi + esi*4 + 0x24]
push eax
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebx + 0x34], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx]
dec eax
or eax, 1
push ecx
mov dword [ebx + 0x64], eax
call fcn.110654e0
add esp, 4
mov dword [ebx + 0x60], eax
cmp byte [edi + 0x4060], 0
je 0x111641d1
mov edx, dword [edi + 0x4058]
add esi, esi
mov eax, dword [edx + esi*8 + 4]
jmp 0x111641d5
mov eax, dword [edi + esi*4 + 0x24]
push eax
mov eax, dword [ebp - 0x4c0c]
push eax
push str.Found_orphaned_client_d__pid_d_n
call fcn.111bd7b0
mov esi, dword [ebp - 0x4bf0]
add esp, 0xc
mov byte [0x1127ad14], 1
cmp byte [ebp - 0x4bea], 0
je 0x1116422e
mov ecx, dword [ebp - 0x4c0c]
cmp ecx, dword [0x1127ef50]
jne 0x1116422e
push str.winlogon.exe
push esi
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x1116422e
mov byte [ebp - 0x4bec], 1
mov byte [ebp - 0x4bea], al
push str.nssadmui.exe
push esi
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x11164252
mov eax, 1
add dword [ebp - 0x4c14], eax
add dword [ebx + 0x50c], eax
push str.pcinssui.exe
push esi
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x11164313
mov eax, 1
add dword [ebp - 0x4bf8], eax
add dword [ebx + 0x508], eax
jmp 0x11164313
jne 0x11164313
cmp word [ebp - 0x9c], 0
je 0x11164313
mov eax, dword [ebp - 0x4bfc]
test eax, eax
jne 0x111642cd
cmp byte [edi + 0x4060], al
je 0x111642b5
mov eax, dword [edi + 0x4058]
mov edx, esi
add edx, edx
mov eax, dword [eax + edx*8 + 4]
jmp 0x111642b9
mov eax, dword [edi + esi*4 + 0x24]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x4bfc], eax
push 0x104
lea ecx, [ebp - 0x4a4]
push ecx
push eax
push esi
mov ecx, edi
call fcn.110fbaf0
test eax, eax
je 0x11164313
lea edx, [ebp - 0x9c]
push edx
push eax
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x11164313
push 3
push 1
push str.UsePsapi
push 0x11218928
mov ecx, 0x1127aa10
call fcn.11065190
mov eax, dword [ebp - 0x4bfc]
test eax, eax
je 0x1116432e
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x4bfc], 0
mov esi, dword [ebp - 0x4c04]
inc esi
mov dword [ebp - 0x4c04], esi
jmp 0x11163d70
cmp dword [ebp - 0x4bfc], 0
je 0x11164356
mov eax, dword [ebp - 0x4bfc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x4be8]
mov dword [ebp - 4], 0xffffffff
call fcn.110fb930
cmp byte [ebp - 0x4bec], 0
je 0x111643cf
mov ecx, dword [0x1127ef50]
push ecx
call fcn.111611c0
mov esi, eax
xor edi, edi
add esp, 4
cmp esi, edi
je 0x111643cf
mov ecx, esi
call fcn.1114d080
test eax, eax
jne 0x111643cf
cmp dword [esi + 0x54], edi
jne 0x111643cf
mov edx, dword [0x1127ef50]
push edx
push str.launch_clientUI_for_console_sesh__d_n
call fcn.111bd7b0
mov eax, dword [0x1127ef50]
mov ecx, dword [0x1127b21c]
add esp, 8
push edi
push edi
push eax
call fcn.11162e10
test eax, eax
je 0x111643cf
mov dword [0x1127ef54], edi
mov dword [0x1127ef50], edi
cmp dword [ebp - 0x4c14], 0
je 0x111643dc
xor eax, eax
jmp 0x111643e9
mov eax, dword [ebp - 0x4bf8]
neg eax
sbb eax, eax
add eax, 2
mov dword [ebp - 0x4bf8], eax
cmp eax, 3
jge 0x111646c9
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov esi, eax
push 0x1127ef5c
mov dword [ebp - 0x4c30], esi
mov dword [ebp - 0x4c34], 0x1127ef5c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call edi
mov dword [ebp - 0x4c2c], eax
sub eax, esi
cmp eax, 0x64
jb 0x1116443a
push eax
push str.Warning._took__d_ms_to_get_simap_lock_n
call fcn.111bd7b0
add esp, 8
mov eax, dword [0x1127f1dc]
mov ebx, dword [eax]
mov dword [ebp - 4], 3
cmp ebx, eax
je 0x1116466e
mov esi, dword [ebx + 0x10]
mov eax, dword [esi]
test eax, eax
jle 0x1116458c
cmp eax, 0xffff
jge 0x1116458c
mov ecx, esi
call fcn.1114d080
test eax, eax
jne 0x1116458c
cmp dword [esi + 0x50], eax
jne 0x1116448a
cmp dword [esi + 0x64], eax
jne 0x1116448a
cmp byte [ebp + 0xc], al
je 0x1116458c
cmp dword [0x1127aa48], 0x120003
jl 0x111644f0
call fcn.111a9a40
test eax, eax
jne 0x111644f0
mov ecx, dword [esi]
push 0xffffffffffffffff
push ecx
mov ecx, dword [0x1127b220]
call fcn.1114e820
mov edi, eax
cmp edi, 0xffffffff
je 0x111644f0
push 0xa
push str.NC_VSpace
mov ecx, esi
call fcn.1114d290
push eax
call dword [sym.imp.MSVCR100.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x111644db
test edi, edi
je 0x111644f0
cmp edi, 1
je 0x111644f0
call fcn.111489a0
test al, al
jne 0x111644f0
cmp byte [ebp - 0x4beb], al
je 0x1116458c
lea edx, [esi + 0x68]
push str.RDV_GRAPHICS_SERVICE
push edx
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x1116458c
lea edi, [esi + 0x268]
push str.RDV_GRAPHICS_SERVICE
push edi
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x1116458c
cmp word [edi], 0
jne 0x11164556
cmp dword [esi + 0x50], 0
jne 0x11164535
cmp dword [esi + 0x64], 0
je 0x1116458c
cmp dword [esi + 8], 0
je 0x1116458c
mov eax, dword [esi]
push eax
push str.No_user_for_session__d___assume_logged_off_n
call fcn.111bd7b0
add esp, 8
push 0
mov ecx, esi
call fcn.1114d0f0
jmp 0x1116458c
cmp byte [ebp + 0xc], 0
je 0x1116456f
cmp dword [esi + 0x64], 0
jne 0x1116456f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
dec eax
or eax, 1
mov dword [esi + 0x64], eax
mov eax, dword [ebp - 0x4bf8]
test eax, eax
jne 0x111645c1
cmp dword [esi + 0x50c], eax
jne 0x111645dd
push 0x1127ef4c
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
cmp byte [ebx + 0x15], 0
jne 0x11164662
mov ecx, dword [ebx + 8]
cmp byte [ecx + 0x15], 0
jne 0x11164642
mov eax, dword [ecx]
cmp byte [eax + 0x15], 0
jne 0x111645ba
jmp 0x111645b0
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x15], 0
je 0x111645b0
mov ebx, ecx
jmp 0x11164662
cmp eax, 1
jne 0x111645cf
cmp dword [esi + 0x508], 0
jmp 0x1116457f
cmp eax, 2
jne 0x11164581
cmp dword [ebp - 0x4bf4], 0
jne 0x11164581
mov ecx, dword [esi]
push 0xffffffffffffffff
push ecx
mov ecx, dword [0x1127b220]
call fcn.1114e820
push eax
push edi
mov ecx, esi
call fcn.1114d080
mov edx, dword [esi]
push eax
push edx
push str.start_TS_client__s_d__h_x__u_s__cs_d_n
call fcn.111bd7b0
mov eax, dword [esi]
mov ecx, dword [0x1127b21c]
add esp, 0x14
push 1
push 0
push eax
call fcn.11162e10
test eax, eax
je 0x1116458c
mov ecx, esi
call fcn.1114d080
test eax, eax
je 0x1116458c
inc dword [ebp - 0x4bf4]
mov byte [0x1127ad14], 1
jmp 0x1116458c
mov eax, dword [ebx + 4]
cmp byte [eax + 0x15], 0
jne 0x11164660
jmp 0x11164650
cmp ebx, dword [eax + 8]
jne 0x11164660
mov ebx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x11164650
mov ebx, eax
cmp ebx, dword [0x1127f1dc]
jne 0x11164450
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
push 0x1127ef5c
mov dword [ebp - 0x4c28], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
sub eax, dword [ebp - 0x4c2c]
mov dword [ebp - 0x4c34], 0
cmp eax, 0x64
jb 0x111646b3
push eax
push str.Warning._simap_lock_held_for__d_ms_n
call fcn.111bd7b0
add esp, 8
mov eax, dword [ebp - 0x4bf8]
inc eax
mov dword [ebp - 0x4bf8], eax
cmp eax, 3
jl 0x111643f8
cmp byte [ebp + 0xc], 0
je 0x111647ed
cmp dword [ebp - 0x4c18], 0
je 0x111647ed
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov esi, eax
push 0x1127ef5c
mov dword [ebp - 0x4c40], esi
mov dword [ebp - 0x4c44], 0x1127ef5c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call ebx
mov dword [ebp - 0x4c3c], eax
sub eax, esi
cmp eax, 0x64
jb 0x11164722
push eax
push str.Warning._took__d_ms_to_get_simap_lock_n
call fcn.111bd7b0
add esp, 8
mov eax, dword [0x1127f1dc]
mov edi, dword [eax]
mov dword [ebp - 4], 4
cmp edi, eax
je 0x111647c3
mov esi, dword [edi + 0x10]
mov ecx, dword [esi]
push 0xffffffffffffffff
push ecx
mov ecx, dword [0x1127b220]
call fcn.1114e820
mov edx, dword [esi + 0x64]
push eax
mov eax, dword [esi + 0x50]
push edx
push eax
mov ecx, esi
call fcn.1114d080
mov edx, dword [esi]
push eax
lea ecx, [esi + 0x268]
push ecx
push edx
push str.s_d__eu_s__cph_x__logon_u__remcon_u__cs_d_n
call fcn.111bd7b0
add esp, 0x1c
cmp byte [edi + 0x15], 0
jne 0x111647b7
mov eax, dword [edi + 8]
cmp byte [eax + 0x15], 0
jne 0x1116479c
mov edi, eax
mov eax, dword [edi]
cmp byte [eax + 0x15], 0
jne 0x111647b7
lea esp, [esp]
mov edi, eax
mov eax, dword [edi]
cmp byte [eax + 0x15], 0
je 0x11164790
jmp 0x111647b7
mov eax, dword [edi + 4]
cmp byte [eax + 0x15], 0
jne 0x111647b5
cmp edi, dword [eax + 8]
jne 0x111647b5
mov edi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x111647a5
mov edi, eax
cmp edi, dword [0x1127f1dc]
jne 0x11164738
call ebx
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
sub eax, dword [ebp - 0x4c3c]
cmp eax, 0x64
jb 0x111647ed
push eax
push str.Warning._simap_lock_held_for__d_ms_n
call fcn.111bd7b0
add esp, 8
mov eax, dword [ebp - 0x4bf4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret