Function at 0x4456cd
Capabilities:
Lock the desktop

Disassembly:
mov eax, 0x4868dc
call fcn.004801f0
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 0x445707
push ecx
mov ecx, 0x4b5a58
mov eax, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00425c69
mov ecx, esi
call fcn.0041eca7
movsx eax, word [esi + 0x84]
push eax
push str.TrClient::Run__1_id_d
push str.S:Ammyy_sources_targetTrClient.cpp
mov ebx, 0x4b5b78
push 2
push ebx
call fcn.0041e1ee
mov eax, dword [esi + 0xc]
add esp, 0x14
mov dword [esi + 0x214], eax
mov dword [esi + 0xcc], eax
mov eax, dword [0x4b5fa4]
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.0041ea31
push dword [edi]
push str.ReadInitMsg___remoteId_u
push str.S:Ammyy_sources_targetTrClient.cpp
push 2
push ebx
call fcn.0041e1ee
mov eax, dword [esi]
add esp, 0x14
mov ecx, esi
push 4
call dword [eax + 0x10]
mov ecx, 0x4b5a58
mov byte [ebp - 4], 1
call fcn.00424d9a
jmp 0x4457ae
and dword [ebp - 4], 0
cmp byte [esi + 0x30], 0
je 0x4457c5
mov eax, dword [esi + 0xc]
mov ecx, esi
push dword [eax + 8]
call fcn.0041e2ef
mov ecx, esi
call fcn.00444bea
mov ecx, esi
call fcn.00445263
test al, al
je 0x445b49
and word [esi + 0x452], 0
push 0x4b5b3c
lea ecx, [esi + 0x4c]
call fcn.00430b8e
mov eax, dword [esi]
push 5
mov ecx, esi
call dword [eax + 0x10]
push 2
mov ecx, esi
call fcn.00446a29
mov ecx, esi
call fcn.004454d9
and byte [ebp - 0x11], 0
and byte [ebp - 0x12], 0
call fcn.00447a04
xor edi, edi
mov dword [ebp - 0x1c], eax
inc edi
lea eax, [ebp - 0x12]
mov ecx, esi
push eax
call fcn.0041e986
mov bl, al
cmp bl, 0x18
mov byte [ebp - 0x18], bl
jne 0x44586f
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 0x4b5b78
call fcn.0041e1ee
mov byte [esi + 0xc4], 1
add esp, 0x14
mov dword [esi + 0x210], edi
jmp 0x445af5
cmp bl, 0x2f
jne 0x445880
mov ecx, esi
call fcn.00445c3a
jmp 0x445af5
cmp bl, 0x30
jne 0x44588e
mov ecx, esi
call fcn.00444e7c
jmp 0x44581c
cmp bl, 0x31
jne 0x44589f
mov ecx, esi
call fcn.00445040
jmp 0x445af5
cmp bl, 0x2d
je 0x4458b8
cmp bl, 0x34
je 0x4458b8
cmp bl, 0x2e
je 0x4458b8
cmp bl, 0xe
je 0x4458b8
cmp bl, 0x28
jne 0x4458da
cmp byte [ebp - 0x11], 0
jne 0x4458cf
push 0
lea ecx, [esi + 0x240]
mov byte [ebp - 0x11], 1
call fcn.00447a35
lea ecx, [esi + 0x240]
call fcn.00447b55
movzx ecx, bl
cmp ecx, 0x33
jg 0x4459fc
je 0x4459cd
cmp ecx, 0x2a
jg 0x44594e
je 0x445942
mov eax, ecx
sub eax, 0xa
je 0x44581c
sub eax, 3
je 0x445936
dec eax
je 0x44592a
sub eax, 0x1a
je 0x44591e
dec eax
jne 0x445a67
mov ecx, esi
call fcn.00445e11
jmp 0x44581c
mov ecx, esi
call fcn.00445cf4
jmp 0x44581c
mov ecx, esi
call fcn.00446436
jmp 0x44581c
mov ecx, esi
call fcn.00445b58
jmp 0x44581c
mov ecx, esi
call fcn.00445e52
jmp 0x44581c
mov eax, ecx
sub eax, 0x2b
je 0x4459c1
dec eax
je 0x4459b5
dec eax
je 0x4459a6
dec eax
je 0x44599a
sub eax, 4
jne 0x445a67
cmp byte [esi + 0x69], 0
jne 0x44598b
lea eax, [ebp - 0x34]
push str.aaPopupAmmyy_is_forbidden
push eax
call fcn.0042c02a
pop ecx
lea eax, [ebp - 0x34]
pop ecx
push 0x49451c
push eax
call sub.MSVCRT.dll__CxxThrowException
mov ecx, 0x4b5358
call fcn.00407aab
jmp 0x44581c
mov ecx, esi
call fcn.0044624f
jmp 0x44581c
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00445f68
jmp 0x44581c
mov ecx, esi
call fcn.00445eb5
jmp 0x44581c
mov ecx, esi
call fcn.00445e82
jmp 0x44581c
cmp byte [esi + 0x69], 0
jne 0x4459f1
lea eax, [ebp - 0x40]
push str.aaComputerLock_is_forbidden
push eax
call fcn.0042c02a
pop ecx
lea eax, [ebp - 0x40]
pop ecx
push 0x49451c
push eax
call sub.MSVCRT.dll__CxxThrowException
call dword [sym.imp.USER32.dll_LockWorkStation]
jmp 0x44581c
cmp ecx, 0x3f
jg 0x445a54
je 0x445a48
mov eax, ecx
sub eax, 0x34
je 0x4459a6
dec eax
je 0x445a3c
sub eax, 7
je 0x445a30
dec eax
je 0x445a24
dec eax
jne 0x445a67
mov ecx, esi
call fcn.0044fa23
jmp 0x44581c
mov ecx, esi
call fcn.0044fc32
jmp 0x44581c
mov ecx, esi
call fcn.0044f449
jmp 0x44581c
mov ecx, esi
call fcn.00445f41
jmp 0x44581c
mov ecx, esi
call fcn.0044fd87
jmp 0x44581c
mov eax, ecx
sub eax, 0x40
je 0x445ab0
dec eax
je 0x445aa4
dec eax
je 0x445a96
dec eax
je 0x445a93
dec eax
je 0x445a87
push ecx
lea eax, [ebp - 0x4c]
push str.invalid_message_received_:__u
push eax
call fcn.0042c02a
add esp, 0xc
lea eax, [ebp - 0x4c]
push 0x49451c
push eax
call sub.MSVCRT.dll__CxxThrowException
mov ecx, esi
call fcn.0045078c
jmp 0x44581c
push edi
jmp 0x445a98
push 0
mov ecx, esi
call fcn.0045036c
jmp 0x44581c
mov ecx, esi
call fcn.0044ffe3
jmp 0x44581c
mov ecx, esi
call fcn.00450499
jmp 0x44581c
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1c], 0
je 0x445b28
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_SetThreadDesktop]
test eax, eax
jne 0x445b28
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x1c]
push str.ERROR_SetThreadDesktop__u___u
push 0x4b5b78
call fcn.0042d050
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 0x4b5b78
call fcn.0041e1ee
add esp, 0x14
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret