Function at 0x43cf15
Capabilities:
Lock the desktop

Disassembly:
mov eax, 0x47d91c
call fcn.00478530
sub esp, 0x3c
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 0x43cf3c
call fcn.0041aff9
movsx eax, word [esi + 0x7c]
push eax
mov ebx, str.S:Ammyy_sources_targetTrClient.cpp
push str.TrClient::Run__1_id_d
push ebx
mov edi, 0x4a7870
push 2
push edi
call fcn.0041a43a
mov eax, dword [esi + 0xc]
add esp, 0x14
mov dword [esi + 0x20c], eax
mov dword [esi + 0xc4], eax
mov eax, dword [0x4a7cb8]
and dword [ebp - 4], 0
mov dword [esi + 0xc8], eax
lea eax, [ebp - 0x28]
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.0041ad8d
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x68], eax
push str.ReadInitMsg___remoteId_u
push ebx
push 2
push edi
call fcn.0041a43a
mov eax, dword [esi]
add esp, 0x14
mov ecx, esi
push 4
call dword [eax + 0x10]
mov ecx, 0x4a7798
mov byte [ebp - 4], 1
call fcn.0041ee30
jmp 0x43cfe6
and dword [ebp - 4], 0
cmp byte [esi + 0x30], 0
je 0x43cffd
mov eax, dword [esi + 0xc]
mov ecx, esi
push dword [eax + 8]
call fcn.0041a6d9
mov ecx, esi
call fcn.0043c4ec
mov ecx, esi
call fcn.0043cb63
test al, al
je 0x43d34c
mov eax, dword [esi]
push 5
mov ecx, esi
call dword [eax + 0x10]
mov ecx, esi
call fcn.0043cd17
and byte [ebp - 0x11], 0
and byte [ebp - 0x12], 0
call fcn.0043edc3
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x12]
mov ecx, esi
push eax
call fcn.0041ace2
mov bl, al
cmp bl, 0x18
mov byte [ebp - 0x18], bl
jne 0x43d086
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.0041a43a
mov byte [esi + 0xbc], 1
add esp, 0x14
mov dword [esi + 0x208], 1
jmp 0x43d303
cmp bl, 0x2f
jne 0x43d097
mov ecx, esi
call fcn.0043d43b
jmp 0x43d303
cmp bl, 0x30
jne 0x43d0a5
mov ecx, esi
call fcn.0043c77d
jmp 0x43d033
cmp bl, 0x31
jne 0x43d0b6
mov ecx, esi
call fcn.0043c958
jmp 0x43d303
cmp bl, 0x2d
je 0x43d0cf
cmp bl, 0x34
je 0x43d0cf
cmp bl, 0x2e
je 0x43d0cf
cmp bl, 0xe
je 0x43d0cf
cmp bl, 0x28
jne 0x43d0f1
cmp byte [ebp - 0x11], 0
jne 0x43d0e6
push 0
lea ecx, [esi + 0x238]
mov byte [ebp - 0x11], 1
call fcn.0043edf4
lea ecx, [esi + 0x238]
call fcn.0043ef13
movzx eax, bl
cmp eax, 0x33
jg 0x43d213
je 0x43d1e4
cmp eax, 0x2a
jg 0x43d165
je 0x43d159
mov ecx, eax
sub ecx, 0xa
je 0x43d033
sub ecx, 3
je 0x43d14d
dec ecx
je 0x43d141
sub ecx, 0x1a
je 0x43d135
dec ecx
jne 0x43d27b
mov ecx, esi
call fcn.0043d634
jmp 0x43d033
mov ecx, esi
call fcn.0043d4f4
jmp 0x43d033
mov ecx, esi
call fcn.0043da3e
jmp 0x43d033
mov ecx, esi
call fcn.0043d35b
jmp 0x43d033
mov ecx, esi
call fcn.0043d675
jmp 0x43d033
mov ecx, eax
sub ecx, 0x2b
je 0x43d1d8
dec ecx
je 0x43d1cc
dec ecx
je 0x43d1bd
dec ecx
je 0x43d1b1
sub ecx, 4
jne 0x43d27b
cmp byte [esi + 0x61], 0
jne 0x43d1a2
lea eax, [ebp - 0x38]
push str.aaPopupAmmyy_is_forbidden
push eax
call fcn.004253a6
pop ecx
lea eax, [ebp - 0x38]
pop ecx
push 0x483c5c
push eax
call sub.MSVCRT.dll__CxxThrowException
mov ecx, 0x4a73f8
call fcn.00407657
jmp 0x43d033
mov ecx, esi
call fcn.0043d89f
jmp 0x43d033
push dword [ebp - 0x18]
mov ecx, esi
call fcn.0043d764
jmp 0x43d033
mov ecx, esi
call fcn.0043d6d8
jmp 0x43d033
mov ecx, esi
call fcn.0043d6a5
jmp 0x43d033
cmp byte [esi + 0x61], 0
jne 0x43d208
lea eax, [ebp - 0x40]
push str.aaComputerLock_is_forbidden
push eax
call fcn.004253a6
pop ecx
lea eax, [ebp - 0x40]
pop ecx
push 0x483c5c
push eax
call sub.MSVCRT.dll__CxxThrowException
call dword [sym.imp.USER32.dll_LockWorkStation]
jmp 0x43d033
cmp eax, 0x40
jg 0x43d26b
je 0x43d25f
mov ecx, eax
sub ecx, 0x34
je 0x43d1bd
sub ecx, 8
je 0x43d253
dec ecx
je 0x43d247
dec ecx
je 0x43d23b
dec ecx
jne 0x43d27b
mov ecx, esi
call fcn.00446b99
jmp 0x43d033
mov ecx, esi
call fcn.0044684b
jmp 0x43d033
mov ecx, esi
call fcn.00446a4f
jmp 0x43d033
mov ecx, esi
call fcn.0044634f
jmp 0x43d033
mov ecx, esi
call fcn.00447298
jmp 0x43d033
mov ecx, eax
sub ecx, 0x41
je 0x43d2b9
dec ecx
je 0x43d2ab
dec ecx
je 0x43d2a7
dec ecx
je 0x43d29b
push eax
lea eax, [ebp - 0x48]
push str.invalid_message_received_:__u
push eax
call fcn.004253a6
add esp, 0xc
lea eax, [ebp - 0x48]
push 0x483c5c
push eax
call sub.MSVCRT.dll__CxxThrowException
mov ecx, esi
call fcn.00447580
jmp 0x43d033
push 1
jmp 0x43d2ad
push 0
mov ecx, esi
call fcn.0044716b
jmp 0x43d033
mov ecx, esi
call fcn.00446dea
jmp 0x43d033
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1c], 0
je 0x43d332
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_SetThreadDesktop]
test eax, eax
jne 0x43d332
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x1c]
push str.ERROR_SetThreadDesktop__u___u
push edi
call fcn.00426343
add esp, 0x10
movsx eax, word [esi + 0x7c]
push eax
push str.TrClient::Run__end_id_d
push str.S:Ammyy_sources_targetTrClient.cpp
push 2
push edi
call fcn.0041a43a
add esp, 0x14
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret