Function at 0x4407a7
Capabilities:
Lock the desktop

Disassembly:
mov eax, 0x481db8
call fcn.0047bfa0
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 0x4407ce
call fcn.0041d4aa
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, 0x4ae590
push 2
push edi
call fcn.0041c880
mov eax, dword [esi + 0xc]
add esp, 0x14
mov dword [esi + 0x214], eax
mov dword [esi + 0xcc], eax
mov eax, dword [0x4ae9d8]
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.0041d234
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.0041c880
mov eax, dword [esi]
add esp, 0x14
mov ecx, esi
push 4
call dword [eax + 0x10]
mov ecx, 0x4ae4b0
mov byte [ebp - 4], 1
call fcn.004210ee
jmp 0x44087b
and dword [ebp - 4], 0
cmp byte [esi + 0x30], 0
je 0x440892
mov eax, dword [esi + 0xc]
mov ecx, esi
push dword [eax + 8]
call fcn.0041cb24
mov ecx, esi
call fcn.0043fd34
mov ecx, esi
call fcn.004403ab
test al, al
je 0x440bf1
push 0x4ae568
lea ecx, [esi + 0x4c]
call fcn.0042bfe4
mov eax, dword [esi]
push 5
mov ecx, esi
call dword [eax + 0x10]
mov ecx, esi
call fcn.0044056d
and byte [ebp - 0x11], 0
and byte [ebp - 0x12], 0
call fcn.004426e3
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x12]
mov ecx, esi
push eax
call fcn.0041d189
mov bl, al
cmp bl, 0x18
mov byte [ebp - 0x18], bl
jne 0x440928
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.0041c880
mov byte [esi + 0xc4], 1
add esp, 0x14
mov dword [esi + 0x210], 1
jmp 0x440ba5
cmp bl, 0x2f
jne 0x440939
mov ecx, esi
call fcn.00440ce0
jmp 0x440ba5
cmp bl, 0x30
jne 0x440947
mov ecx, esi
call fcn.0043ffc5
jmp 0x4408d5
cmp bl, 0x31
jne 0x440958
mov ecx, esi
call fcn.004401a0
jmp 0x440ba5
cmp bl, 0x2d
je 0x440971
cmp bl, 0x34
je 0x440971
cmp bl, 0x2e
je 0x440971
cmp bl, 0xe
je 0x440971
cmp bl, 0x28
jne 0x440993
cmp byte [ebp - 0x11], 0
jne 0x440988
push 0
lea ecx, [esi + 0x240]
mov byte [ebp - 0x11], 1
call fcn.00442714
lea ecx, [esi + 0x240]
call fcn.00442833
movzx eax, bl
cmp eax, 0x33
jg 0x440ab5
je 0x440a86
cmp eax, 0x2a
jg 0x440a07
je 0x4409fb
mov ecx, eax
sub ecx, 0xa
je 0x4408d5
sub ecx, 3
je 0x4409ef
dec ecx
je 0x4409e3
sub ecx, 0x1a
je 0x4409d7
dec ecx
jne 0x440b1d
mov ecx, esi
call fcn.00440eda
jmp 0x4408d5
mov ecx, esi
call fcn.00440d9a
jmp 0x4408d5
mov ecx, esi
call fcn.00441317
jmp 0x4408d5
mov ecx, esi
call fcn.00440c00
jmp 0x4408d5
mov ecx, esi
call fcn.00440f1b
jmp 0x4408d5
mov ecx, eax
sub ecx, 0x2b
je 0x440a7a
dec ecx
je 0x440a6e
dec ecx
je 0x440a5f
dec ecx
je 0x440a53
sub ecx, 4
jne 0x440b1d
cmp byte [esi + 0x69], 0
jne 0x440a44
lea eax, [ebp - 0x34]
push str.aaPopupAmmyy_is_forbidden
push eax
call fcn.0042777f
pop ecx
lea eax, [ebp - 0x34]
pop ecx
push 0x48e0c0
push eax
call sub.MSVCRT.dll__CxxThrowException
mov ecx, 0x4adeb8
call fcn.00402ae1
jmp 0x4408d5
mov ecx, esi
call fcn.00441145
jmp 0x4408d5
push dword [ebp - 0x18]
mov ecx, esi
call fcn.0044100a
jmp 0x4408d5
mov ecx, esi
call fcn.00440f7e
jmp 0x4408d5
mov ecx, esi
call fcn.00440f4b
jmp 0x4408d5
cmp byte [esi + 0x69], 0
jne 0x440aaa
lea eax, [ebp - 0x3c]
push str.aaComputerLock_is_forbidden
push eax
call fcn.0042777f
pop ecx
lea eax, [ebp - 0x3c]
pop ecx
push 0x48e0c0
push eax
call sub.MSVCRT.dll__CxxThrowException
call dword [sym.imp.USER32.dll_LockWorkStation]
jmp 0x4408d5
cmp eax, 0x40
jg 0x440b0d
je 0x440b01
mov ecx, eax
sub ecx, 0x34
je 0x440a5f
sub ecx, 8
je 0x440af5
dec ecx
je 0x440ae9
dec ecx
je 0x440add
dec ecx
jne 0x440b1d
mov ecx, esi
call fcn.0044a611
jmp 0x4408d5
mov ecx, esi
call fcn.0044a2ad
jmp 0x4408d5
mov ecx, esi
call fcn.0044a4bc
jmp 0x4408d5
mov ecx, esi
call fcn.00449ce8
jmp 0x4408d5
mov ecx, esi
call fcn.0044ad23
jmp 0x4408d5
mov ecx, eax
sub ecx, 0x41
je 0x440b5b
dec ecx
je 0x440b4d
dec ecx
je 0x440b49
dec ecx
je 0x440b3d
push eax
lea eax, [ebp - 0x44]
push str.invalid_message_received_:__u
push eax
call fcn.0042777f
add esp, 0xc
lea eax, [ebp - 0x44]
push 0x48e0c0
push eax
call sub.MSVCRT.dll__CxxThrowException
mov ecx, esi
call fcn.0044b016
jmp 0x4408d5
push 1
jmp 0x440b4f
push 0
mov ecx, esi
call fcn.0044abf6
jmp 0x4408d5
mov ecx, esi
call fcn.0044a86d
jmp 0x4408d5
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1c], 0
je 0x440bd4
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_SetThreadDesktop]
test eax, eax
jne 0x440bd4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x1c]
push str.ERROR_SetThreadDesktop__u___u
push edi
call fcn.00428716
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.0041c880
add esp, 0x14
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret