Function at 0x44079b
Capabilities:
Lock the desktop

Disassembly:
mov eax, 0x481d88
call fcn.0047bf20
sub esp, 0x38
and dword [ebp - 0x1c], 0
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x20], esi
cmp byte [esi + 0x30], 0
mov dword [ebp - 0x10], esp
jne 0x4407c2
call fcn.0041d4c3
movsx eax, word [esi + 0x84]
push eax
mov ebx, str.S:Ammyy_sources_targetTrClient.cpp
push str.TrClient::Run__1_id_d
push ebx
mov edi, 0x4ae550
push 2
push edi
call fcn.0041c894
mov eax, dword [esi + 0xc]
add esp, 0x14
mov dword [esi + 0x214], eax
mov dword [esi + 0xcc], eax
mov eax, dword [0x4ae998]
and dword [ebp - 4], 0
mov dword [esi + 0xd0], eax
lea eax, [esi + 0x38]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x18]
push eax
mov al, byte [esi + 0x30]
push eax
mov ecx, esi
call fcn.0041d24d
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x70], eax
push str.ReadInitMsg___remoteId_u
push ebx
push 2
push edi
call fcn.0041c894
mov eax, dword [esi]
add esp, 0x14
mov ecx, esi
push 4
call dword [eax + 0x10]
mov ecx, 0x4ae470
mov byte [ebp - 4], 1
call fcn.00421104
jmp 0x44086f
and dword [ebp - 4], 0
cmp byte [esi + 0x30], 0
je 0x440886
mov eax, dword [esi + 0xc]
mov ecx, esi
push dword [eax + 8]
call fcn.0041cb38
mov ecx, esi
call fcn.0043fd28
mov ecx, esi
call fcn.0044039f
test al, al
je 0x440be5
push 0x4ae528
lea ecx, [esi + 0x4c]
call fcn.0042bffd
mov eax, dword [esi]
push 5
mov ecx, esi
call dword [eax + 0x10]
mov ecx, esi
call fcn.00440561
and byte [ebp - 0x11], 0
and byte [ebp - 0x12], 0
call fcn.004426d7
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x12]
mov ecx, esi
push eax
call fcn.0041d1a2
mov bl, al
cmp bl, 0x18
mov byte [ebp - 0x18], bl
jne 0x44091c
mov ecx, dword [esi + 0xc]
lea edx, [ebp - 0x17]
push 2
push edx
mov eax, dword [ecx]
call dword [eax + 4]
movzx eax, word [ebp - 0x17]
push eax
push str.get_close_message_with_code_d
push str.S:Ammyy_sources_targetTrClient.cpp
push 2
push edi
call fcn.0041c894
mov byte [esi + 0xc4], 1
add esp, 0x14
mov dword [esi + 0x210], 1
jmp 0x440b99
cmp bl, 0x2f
jne 0x44092d
mov ecx, esi
call fcn.00440cd4
jmp 0x440b99
cmp bl, 0x30
jne 0x44093b
mov ecx, esi
call fcn.0043ffb9
jmp 0x4408c9
cmp bl, 0x31
jne 0x44094c
mov ecx, esi
call fcn.00440194
jmp 0x440b99
cmp bl, 0x2d
je 0x440965
cmp bl, 0x34
je 0x440965
cmp bl, 0x2e
je 0x440965
cmp bl, 0xe
je 0x440965
cmp bl, 0x28
jne 0x440987
cmp byte [ebp - 0x11], 0
jne 0x44097c
push 0
lea ecx, [esi + 0x240]
mov byte [ebp - 0x11], 1
call fcn.00442708
lea ecx, [esi + 0x240]
call fcn.00442827
movzx eax, bl
cmp eax, 0x33
jg 0x440aa9
je 0x440a7a
cmp eax, 0x2a
jg 0x4409fb
je 0x4409ef
mov ecx, eax
sub ecx, 0xa
je 0x4408c9
sub ecx, 3
je 0x4409e3
dec ecx
je 0x4409d7
sub ecx, 0x1a
je 0x4409cb
dec ecx
jne 0x440b11
mov ecx, esi
call fcn.00440ece
jmp 0x4408c9
mov ecx, esi
call fcn.00440d8e
jmp 0x4408c9
mov ecx, esi
call fcn.0044130b
jmp 0x4408c9
mov ecx, esi
call fcn.00440bf4
jmp 0x4408c9
mov ecx, esi
call fcn.00440f0f
jmp 0x4408c9
mov ecx, eax
sub ecx, 0x2b
je 0x440a6e
dec ecx
je 0x440a62
dec ecx
je 0x440a53
dec ecx
je 0x440a47
sub ecx, 4
jne 0x440b11
cmp byte [esi + 0x69], 0
jne 0x440a38
lea eax, [ebp - 0x34]
push str.aaPopupAmmyy_is_forbidden
push eax
call fcn.0042778f
pop ecx
lea eax, [ebp - 0x34]
pop ecx
push 0x48e404
push eax
call sub.MSVCRT.dll__CxxThrowException
mov ecx, 0x4ade88
call fcn.00407e06
jmp 0x4408c9
mov ecx, esi
call fcn.00441139
jmp 0x4408c9
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00440ffe
jmp 0x4408c9
mov ecx, esi
call fcn.00440f72
jmp 0x4408c9
mov ecx, esi
call fcn.00440f3f
jmp 0x4408c9
cmp byte [esi + 0x69], 0
jne 0x440a9e
lea eax, [ebp - 0x3c]
push str.aaComputerLock_is_forbidden
push eax
call fcn.0042778f
pop ecx
lea eax, [ebp - 0x3c]
pop ecx
push 0x48e404
push eax
call sub.MSVCRT.dll__CxxThrowException
call dword [sym.imp.USER32.dll_LockWorkStation]
jmp 0x4408c9
cmp eax, 0x40
jg 0x440b01
je 0x440af5
mov ecx, eax
sub ecx, 0x34
je 0x440a53
sub ecx, 8
je 0x440ae9
dec ecx
je 0x440add
dec ecx
je 0x440ad1
dec ecx
jne 0x440b11
mov ecx, esi
call fcn.0044a5d9
jmp 0x4408c9
mov ecx, esi
call fcn.0044a275
jmp 0x4408c9
mov ecx, esi
call fcn.0044a484
jmp 0x4408c9
mov ecx, esi
call fcn.00449cb0
jmp 0x4408c9
mov ecx, esi
call fcn.0044aceb
jmp 0x4408c9
mov ecx, eax
sub ecx, 0x41
je 0x440b4f
dec ecx
je 0x440b41
dec ecx
je 0x440b3d
dec ecx
je 0x440b31
push eax
lea eax, [ebp - 0x44]
push str.invalid_message_received_:__u
push eax
call fcn.0042778f
add esp, 0xc
lea eax, [ebp - 0x44]
push 0x48e404
push eax
call sub.MSVCRT.dll__CxxThrowException
mov ecx, esi
call fcn.0044afde
jmp 0x4408c9
push 1
jmp 0x440b43
push 0
mov ecx, esi
call fcn.0044abbe
jmp 0x4408c9
mov ecx, esi
call fcn.0044a835
jmp 0x4408c9
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1c], 0
je 0x440bc8
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_SetThreadDesktop]
test eax, eax
jne 0x440bc8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x1c]
push str.ERROR_SetThreadDesktop__u___u
push edi
call fcn.00428736
add esp, 0x10
movsx eax, word [esi + 0x84]
push eax
push str.TrClient::Run__end_id_d
push str.S:Ammyy_sources_targetTrClient.cpp
push 2
push edi
call fcn.0041c894
add esp, 0x14
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret