Function at 0x44385e
Capabilities:
Lock the desktop

Disassembly:
mov eax, 0x4846c8
call fcn.0047e070
sub esp, 0x40
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 0x443898
push ecx
mov ecx, 0x4b3890
mov eax, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.004242ab
mov ecx, esi
call fcn.0041e56c
movsx eax, word [esi + 0x84]
push eax
push str.TrClient::Run__1_id_d
push str.S:Ammyy_sources_targetTrClient.cpp
mov ebx, 0x4b39b0
push 2
push ebx
call fcn.0041dab3
mov eax, dword [esi + 0xc]
add esp, 0x14
mov dword [esi + 0x214], eax
mov dword [esi + 0xcc], eax
mov eax, dword [0x4b3dd4]
and dword [ebp - 4], 0
mov dword [esi + 0xd0], eax
lea eax, [esi + 0x38]
push eax
lea eax, [ebp - 0x18]
lea edi, [esi + 8]
push eax
mov al, byte [esi + 0x30]
push edi
and dword [edi], 0
push eax
mov ecx, esi
call fcn.0041e2f6
push dword [edi]
push str.ReadInitMsg___remoteId_u
push str.S:Ammyy_sources_targetTrClient.cpp
push 2
push ebx
call fcn.0041dab3
mov eax, dword [esi]
add esp, 0x14
mov ecx, esi
push 4
call dword [eax + 0x10]
mov ecx, 0x4b3890
mov byte [ebp - 4], 1
call fcn.004233dc
jmp 0x44393f
and dword [ebp - 4], 0
cmp byte [esi + 0x30], 0
je 0x443956
mov eax, dword [esi + 0xc]
mov ecx, esi
push dword [eax + 8]
call fcn.0041dbb4
mov ecx, esi
call fcn.00442d7b
mov ecx, esi
call fcn.004433f4
test al, al
je 0x443cc3
push 0x4b3974
lea ecx, [esi + 0x4c]
call fcn.0042efe3
mov eax, dword [esi]
push 5
mov ecx, esi
call dword [eax + 0x10]
push 2
mov ecx, esi
call fcn.00444b58
mov ecx, esi
call fcn.0044366a
and byte [ebp - 0x11], 0
and byte [ebp - 0x12], 0
call fcn.00445c5e
xor edi, edi
mov dword [ebp - 0x1c], eax
inc edi
lea eax, [ebp - 0x12]
mov ecx, esi
push eax
call fcn.0041e24b
mov bl, al
cmp bl, 0x18
mov byte [ebp - 0x18], bl
jne 0x4439f8
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 0x4b39b0
call fcn.0041dab3
mov byte [esi + 0xc4], 1
add esp, 0x14
mov dword [esi + 0x210], edi
jmp 0x443c6f
cmp bl, 0x2f
jne 0x443a09
mov ecx, esi
call fcn.00443db4
jmp 0x443c6f
cmp bl, 0x30
jne 0x443a17
mov ecx, esi
call fcn.0044300d
jmp 0x4439a5
cmp bl, 0x31
jne 0x443a28
mov ecx, esi
call fcn.004431d1
jmp 0x443c6f
cmp bl, 0x2d
je 0x443a41
cmp bl, 0x34
je 0x443a41
cmp bl, 0x2e
je 0x443a41
cmp bl, 0xe
je 0x443a41
cmp bl, 0x28
jne 0x443a63
cmp byte [ebp - 0x11], 0
jne 0x443a58
push 0
lea ecx, [esi + 0x240]
mov byte [ebp - 0x11], 1
call fcn.00445c8f
lea ecx, [esi + 0x240]
call fcn.00445daf
movzx eax, bl
cmp eax, 0x33
jg 0x443b85
je 0x443b56
cmp eax, 0x2a
jg 0x443ad7
je 0x443acb
mov ecx, eax
sub ecx, 0xa
je 0x4439a5
sub ecx, 3
je 0x443abf
dec ecx
je 0x443ab3
sub ecx, 0x1a
je 0x443aa7
dec ecx
jne 0x443bed
mov ecx, esi
call fcn.00443f8b
jmp 0x4439a5
mov ecx, esi
call fcn.00443e6e
jmp 0x4439a5
mov ecx, esi
call fcn.00444568
jmp 0x4439a5
mov ecx, esi
call fcn.00443cd2
jmp 0x4439a5
mov ecx, esi
call fcn.00443fcc
jmp 0x4439a5
mov ecx, eax
sub ecx, 0x2b
je 0x443b4a
dec ecx
je 0x443b3e
dec ecx
je 0x443b2f
dec ecx
je 0x443b23
sub ecx, 4
jne 0x443bed
cmp byte [esi + 0x69], 0
jne 0x443b14
lea eax, [ebp - 0x34]
push str.aaPopupAmmyy_is_forbidden
push eax
call fcn.0042a481
pop ecx
lea eax, [ebp - 0x34]
pop ecx
push 0x4924b4
push eax
call sub.MSVCRT.dll__CxxThrowException
mov ecx, 0x4b3198
call fcn.00407aa8
jmp 0x4439a5
mov ecx, esi
call fcn.00444396
jmp 0x4439a5
push dword [ebp - 0x18]
mov ecx, esi
call fcn.004440bb
jmp 0x4439a5
mov ecx, esi
call fcn.0044402f
jmp 0x4439a5
mov ecx, esi
call fcn.00443ffc
jmp 0x4439a5
cmp byte [esi + 0x69], 0
jne 0x443b7a
lea eax, [ebp - 0x40]
push str.aaComputerLock_is_forbidden
push eax
call fcn.0042a481
pop ecx
lea eax, [ebp - 0x40]
pop ecx
push 0x4924b4
push eax
call sub.MSVCRT.dll__CxxThrowException
call dword [sym.imp.USER32.dll_LockWorkStation]
jmp 0x4439a5
cmp eax, 0x40
jg 0x443bdd
je 0x443bd1
mov ecx, eax
sub ecx, 0x34
je 0x443b2f
sub ecx, 8
je 0x443bc5
dec ecx
je 0x443bb9
dec ecx
je 0x443bad
dec ecx
jne 0x443bed
mov ecx, esi
call fcn.0044dc0c
jmp 0x4439a5
mov ecx, esi
call fcn.0044d8a8
jmp 0x4439a5
mov ecx, esi
call fcn.0044dab7
jmp 0x4439a5
mov ecx, esi
call fcn.0044d2ce
jmp 0x4439a5
mov ecx, esi
call fcn.0044e31e
jmp 0x4439a5
mov ecx, eax
sub ecx, 0x41
je 0x443c2a
dec ecx
je 0x443c1c
dec ecx
je 0x443c19
dec ecx
je 0x443c0d
push eax
lea eax, [ebp - 0x4c]
push str.invalid_message_received_:__u
push eax
call fcn.0042a481
add esp, 0xc
lea eax, [ebp - 0x4c]
push 0x4924b4
push eax
call sub.MSVCRT.dll__CxxThrowException
mov ecx, esi
call fcn.0044e611
jmp 0x4439a5
push edi
jmp 0x443c1e
push 0
mov ecx, esi
call fcn.0044e1f1
jmp 0x4439a5
mov ecx, esi
call fcn.0044de68
jmp 0x4439a5
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1c], 0
je 0x443ca2
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_SetThreadDesktop]
test eax, eax
jne 0x443ca2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x1c]
push str.ERROR_SetThreadDesktop__u___u
push 0x4b39b0
call fcn.0042b4a1
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 0x4b39b0
call fcn.0041dab3
add esp, 0x14
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret