Function at 0x43a730
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x569da1
mov eax, dword fs:[0]
push eax
sub esp, 0x17c
mov eax, dword [0x5d7008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x144], ebx
mov ecx, dword [ebx + 0x270]
lea edx, [ebp - 0x18]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x168], eax
push edx
mov eax, dword [ecx]
mov byte [ebp - 0x11b], 0
call dword [eax + 0x128]
mov ecx, dword [ebx + 0x270]
mov eax, dword [ecx]
call dword [eax + 0x24c]
push 9
mov esi, eax
call fcn.0054cef5
add esp, 4
mov edi, eax
mov eax, 0x5d7a94
mov dword [ebp - 0x120], edi
test esi, esi
mov ecx, 0x5d7ba0
mov edx, 1
cmove ecx, eax
call fcn.0041ddf0
mov edx, edi
lea ecx, [ebp - 0x18]
call fcn.0041e040
mov byte [edi + 8], 0
mov dword [ebp - 0x188], edi
mov dword [ebp - 4], 0
mov ecx, dword [ebx + 0x270]
mov eax, dword [ecx]
call dword [eax + 0x294]
push eax
lea ecx, [ebp - 0x184]
call fcn.0041f7d0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x17c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43a805
sub ecx, edx
je 0x43a86a
push 0x200
mov byte [ebp - 0x11b], 1
call fcn.0053d681
mov esi, eax
lea eax, [ebp - 0x118]
push eax
push dword [ebp - 0x184]
mov dword [ebp - 0x180], esi
push str.SecureVNC_0_0x_08x__s
push 0xffffffffffffffff
push 0x1fe
mov byte [esi], 0
push esi
mov byte [ebp - 0x118], 0
call fcn.0041f050
mov eax, dword [ebx + 0x26c]
add esp, 0x1c
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x43a88b
mov eax, dword [ecx]
push esi
call dword [eax + 0x28]
jmp 0x43a88b
mov ecx, dword [ebx + 0x270]
mov eax, dword [ecx]
call dword [eax + 0x294]
mov ecx, dword [ebx + 0x26c]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x43a88b
mov edx, dword [ecx]
push eax
call dword [edx + 0x28]
xor eax, eax
mov byte [ebp - 0x119], 1
xor edx, edx
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x14c], edx
nop dword [eax]
nop word [eax + eax]
mov eax, dword [ebx + 0x26c]
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x148], 0
push edx
mov ecx, dword [eax + 4]
lea edx, [ebp - 0x148]
push edx
lea edx, [ebp - 0x128]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov esi, dword [ebx + 0x26c]
test al, al
je 0x43b201
movzx edx, word [ebp - 0x148]
mov dword [ebp - 0x154], edx
cmp dword [esi + 8], 0xffffffff
je 0x43b1eb
cmp byte [esi + 0x18], 0
mov edi, 2
je 0x43a95a
mov eax, dword [esi + 0x10]
cmp byte [eax + 0x21], 0
je 0x43a95a
cmp byte [esi + 0x68], 0
je 0x43a931
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x64]
mov word [ecx + eax], dx
add dword [esi + 0x6c], edi
jmp 0x43a971
lea eax, [ebp - 0x150]
mov dword [ebp - 0x150], 0
push eax
push 2
lea eax, [ebp - 0x154]
mov ecx, esi
push eax
call fcn.00489a20
mov edi, dword [ebp - 0x150]
jmp 0x43a960
lea eax, [ebp - 0x154]
push edi
push eax
mov ecx, esi
call fcn.004894f0
cmp eax, edi
jne 0x43b1eb
mov esi, dword [ebx + 0x26c]
mov edi, dword [ebp - 0x148]
cmp dword [esi + 8], 0xffffffff
je 0x43b1eb
test edi, edi
je 0x43a9f9
cmp byte [esi + 0x18], 0
je 0x43a9e2
mov eax, dword [esi + 0x10]
cmp byte [eax + 0x21], 0
je 0x43a9e2
cmp byte [esi + 0x68], 0
je 0x43a9bb
mov eax, dword [esi + 0x64]
add eax, dword [esi + 0x6c]
push edi
push dword [ebp - 0x128]
push eax
call fcn.00540f80
add esp, 0xc
add dword [esi + 0x6c], edi
jmp 0x43a9f9
lea eax, [ebp - 0x158]
mov dword [ebp - 0x158], 0
push eax
push edi
push dword [ebp - 0x128]
mov ecx, esi
call fcn.00489a20
mov edi, dword [ebp - 0x158]
jmp 0x43a9e8
mov eax, dword [ebp - 0x128]
push edi
push eax
mov ecx, esi
call fcn.004893f0
cmp eax, edi
jne 0x43b1eb
cmp dword [ebx + 0x280], 0
mov dl, byte [ebp - 0x11b]
mov byte [ebp - 0x11a], dl
jne 0x43aa22
mov ecx, dword [ebp - 0x120]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43aa17
sub ecx, esi
jne 0x43aa2a
mov dl, 2
mov byte [ebp - 0x11a], dl
mov esi, dword [ebx + 0x26c]
cmp dword [esi + 8], 0xffffffff
je 0x43b1eb
cmp byte [esi + 0x18], 0
mov edi, 1
je 0x43aa8b
mov eax, dword [esi + 0x10]
cmp byte [eax + 0x21], 0
je 0x43aa8b
cmp byte [esi + 0x68], 0
je 0x43aa62
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x64]
mov byte [ecx + eax], dl
inc dword [esi + 0x6c]
jmp 0x43aaa2
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x15c], 0
push eax
push 1
lea eax, [ebp - 0x11a]
mov ecx, esi
push eax
call fcn.00489a20
mov edi, dword [ebp - 0x15c]
jmp 0x43aa91
lea eax, [ebp - 0x11a]
push edi
push eax
mov ecx, esi
call fcn.004893f0
cmp eax, edi
jne 0x43b1eb
mov eax, dword [ebx + 0x26c]
push dword [ebp - 0x128]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [ebx + 0x26c]
lea eax, [ebp - 0x134]
push 2
push eax
mov dword [ebp - 0x134], 0
call fcn.00489800
test eax, eax
je 0x43b238
mov eax, dword [ebp - 0x134]
mov ecx, 0x7e8
cmp ax, cx
ja 0x43b238
movzx eax, ax
push eax
call fcn.0053d681
movzx edi, word [ebp - 0x134]
mov ebx, eax
mov dword [ebp - 0x124], ebx
mov esi, ebx
mov ebx, dword [ebp - 0x144]
add esp, 4
mov ebx, dword [ebx + 0x26c]
cmp dword [ebx + 8], 0xffffffff
je 0x43b1da
test edi, edi
je 0x43acc8
cmp byte [ebx + 0x18], 0
je 0x43ac90
mov ecx, dword [ebx + 0x10]
cmp byte [ecx + 0x21], 0
je 0x43ac90
mov esi, dword [ebx + 0x14]
lea edx, [ecx + 8]
test esi, esi
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x170], edx
mov ecx, esi
sete al
mov byte [ebp - 0x16c], al
test esi, esi
jne 0x43ab6f
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebx + 0x14]
mov byte [ebp - 4], 2
mov dword [ebp - 0x130], 0
test ecx, ecx
je 0x43ab94
mov eax, dword [ecx]
lea edx, [ebp - 0x130]
push edx
push edi
push 0
call dword [eax + 8]
mov edi, eax
jmp 0x43abba
mov esi, dword [ebx + 0x10]
lea eax, [ebp - 0x130]
push eax
push edi
push 0
mov eax, dword [esi + 0x2e4]
call eax
mov edi, eax
add esp, 0xc
mov dword [esi + 0x300], edi
mov esi, dword [ebp - 0x140]
test edi, edi
je 0x43b117
mov eax, dword [ebp - 0x130]
mov edx, eax
mov dword [ebp - 0x13c], edx
test edx, edx
jle 0x43ac26
mov ecx, dword [ebx + 8]
cmp ecx, 0xffffffff
je 0x43ac05
push 0
push eax
push edi
push ecx
call dword [sym.imp.WS2_32.dll_recv]
mov ecx, eax
test ecx, ecx
jle 0x43abff
mov eax, dword [ebp - 0x130]
add edi, ecx
sub eax, ecx
mov dword [ebp - 0x130], eax
jmp 0x43ac1c
je 0x43b0f3
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x43b0fa
mov eax, dword [ebp - 0x130]
test eax, eax
jg 0x43abd4
mov edx, dword [ebp - 0x13c]
mov ecx, dword [ebx + 0x14]
mov edi, dword [ebp - 0x124]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x130], edx
test ecx, ecx
je 0x43ac53
mov eax, dword [ecx]
lea esi, [ebp - 0x160]
push esi
push edx
push edi
call dword [eax + 8]
jmp 0x43ac70
mov esi, dword [ebx + 0x10]
lea eax, [ebp - 0x160]
push eax
push edx
push edi
mov eax, dword [esi + 0x2e4]
call eax
add esp, 0xc
mov dword [esi + 0x300], eax
cmp dword [ebp - 0x140], 0
mov byte [ebp - 4], 1
jne 0x43acce
push dword [ebp - 0x170]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x43acce
mov eax, dword [ebx + 8]
cmp eax, 0xffffffff
je 0x43acb3
push 0
push edi
push esi
push eax
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x43acad
add esi, eax
sub edi, eax
jmp 0x43acc4
je 0x43b1af
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x43b1d4
test edi, edi
jne 0x43ac90
mov edi, dword [ebp - 0x124]
mov ebx, dword [ebp - 0x144]
mov eax, dword [ebx + 0x26c]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x119]
push eax
push dword [ebp - 0x14c]
movzx eax, word [ebp - 0x134]
mov edx, dword [ecx]
push eax
push edi
mov eax, dword [edx + 0x34]
call eax
test al, al
jne 0x43ad3a
mov eax, dword [ebx + 0x26c]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov edx, eax
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x43ad11
mov ecx, dword [ebp - 0x168]
sub edx, esi
push edx
push eax
call fcn.0041c000
mov dword [ebp - 0x12c], 0
mov byte [ebp - 0x119], 0
jmp 0x43ad55
mov esi, dword [ebp - 0x12c]
mov eax, 1
cmp byte [ebp - 0x119], 0
cmove esi, eax
mov dword [ebp - 0x12c], esi
push edi
call fcn.0053d63e
mov eax, dword [ebx + 0x26c]
add esp, 4
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp dword [ebx + 0x280], 0
mov edi, dword [ebp - 0x120]
jne 0x43b0c2
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43ad84
sub ecx, edx
je 0x43b0c2
mov ecx, dword [ebx + 0x26c]
lea eax, [ebp - 0x134]
push 2
push eax
call fcn.00489800
test eax, eax
je 0x43b23e
mov eax, dword [ebp - 0x134]
mov ecx, 0x7e8
cmp ax, cx
ja 0x43b23e
movzx eax, ax
push eax
call fcn.0053d681
movzx edi, word [ebp - 0x134]
mov ebx, eax
mov dword [ebp - 0x124], ebx
mov esi, ebx
mov ebx, dword [ebp - 0x144]
add esp, 4
mov ebx, dword [ebx + 0x26c]
cmp dword [ebx + 8], 0xffffffff
je 0x43b1da
test edi, edi
je 0x43af98
cmp byte [ebx + 0x18], 0
je 0x43af60
mov ecx, dword [ebx + 0x10]
cmp byte [ecx + 0x21], 0
je 0x43af60
mov esi, dword [ebx + 0x14]
lea edx, [ecx + 8]
test esi, esi
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x178], edx
mov ecx, esi
sete al
mov byte [ebp - 0x174], al
test esi, esi
jne 0x43ae42
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebx + 0x14]
mov byte [ebp - 4], 3
mov dword [ebp - 0x138], 0
test ecx, ecx
je 0x43ae67
mov eax, dword [ecx]
lea edx, [ebp - 0x138]
push edx
push edi
push 0
call dword [eax + 8]
mov edi, eax
jmp 0x43ae8d
mov esi, dword [ebx + 0x10]
lea eax, [ebp - 0x138]
push eax
push edi
push 0
mov eax, dword [esi + 0x2e4]
call eax
mov edi, eax
add esp, 0xc
mov dword [esi + 0x300], edi
mov esi, dword [ebp - 0x140]
test edi, edi
je 0x43b177
mov eax, dword [ebp - 0x138]
mov edx, eax
mov dword [ebp - 0x13c], edx
test edx, edx
jle 0x43aef9
mov ecx, dword [ebx + 8]
cmp ecx, 0xffffffff
je 0x43aed8
push 0
push eax
push edi
push ecx
call dword [sym.imp.WS2_32.dll_recv]
mov ecx, eax
test ecx, ecx
jle 0x43aed2
mov eax, dword [ebp - 0x138]
add edi, ecx
sub eax, ecx
mov dword [ebp - 0x138], eax
jmp 0x43aeef
je 0x43b153
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x43b15a
mov eax, dword [ebp - 0x138]
test eax, eax
jg 0x43aea7
mov edx, dword [ebp - 0x13c]
mov ecx, dword [ebx + 0x14]
mov edi, dword [ebp - 0x124]
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x138], edx
test ecx, ecx
je 0x43af26
mov eax, dword [ecx]
lea esi, [ebp - 0x164]
push esi
push edx
push edi
call dword [eax + 8]
jmp 0x43af43
mov esi, dword [ebx + 0x10]
lea eax, [ebp - 0x164]
push eax
push edx
push edi
mov eax, dword [esi + 0x2e4]
call eax
add esp, 0xc
mov dword [esi + 0x300], eax
cmp dword [ebp - 0x140], 0
mov byte [ebp - 4], 1
jne 0x43af9e
push dword [ebp - 0x178]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x43af9e
mov eax, dword [ebx + 8]
cmp eax, 0xffffffff
je 0x43af83
push 0
push edi
push esi
push eax
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x43af7d
add esi, eax
sub edi, eax
jmp 0x43af94
je 0x43b1af
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x43b1d4
test edi, edi
jne 0x43af60
mov edi, dword [ebp - 0x124]
cmp byte [ebp - 0x11b], 0
jne 0x43b02e
mov ebx, dword [ebp - 0x120]
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43afb6
sub ecx, edx
mov esi, edi
mov edx, ebx
sub ecx, 4
jb 0x43afd9
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x43afe2
add edx, 4
add esi, 4
sub ecx, 4
jae 0x43afc8
cmp ecx, 0xfffffffc
je 0x43b0ad
mov al, byte [edx]
cmp al, byte [esi]
jne 0x43b01f
cmp ecx, 0xfffffffd
je 0x43b0ad
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x43b01f
cmp ecx, 0xfffffffe
je 0x43b0ad
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x43b01f
cmp ecx, 0xffffffff
je 0x43b0ad
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
je 0x43b0ad
mov dword [ebp - 0x12c], 0
jmp 0x43b0ad
mov ebx, dword [ebp - 0x17c]
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b040
sub ecx, edx
mov esi, edi
mov edx, ebx
sub ecx, 4
jb 0x43b063
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x43b068
add edx, 4
add esi, 4
sub ecx, 4
jae 0x43b052
cmp ecx, 0xfffffffc
je 0x43b0a1
mov al, byte [edx]
cmp al, byte [esi]
jne 0x43b01f
cmp ecx, 0xfffffffd
je 0x43b0a1
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x43b01f
cmp ecx, 0xfffffffe
je 0x43b0a1
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x43b01f
cmp ecx, 0xffffffff
je 0x43b0a1
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
je 0x43b0a1
mov dword [ebp - 0x12c], 0
jmp 0x43b0ad
mov ebx, dword [ebp - 0x12c]
mov dword [ebp - 0x12c], ebx
push edi
call fcn.0053d63e
mov ebx, dword [ebp - 0x144]
add esp, 4
mov edi, dword [ebp - 0x120]
mov edx, dword [ebp - 0x14c]
inc edx
cmp byte [ebp - 0x119], 0
mov dword [ebp - 0x14c], edx
jne 0x43a8b0
cmp dword [ebp - 0x12c], 0
je 0x43b23e
mov esi, 1
jmp 0x43b240
push str.C:Users_rudiDesktopgit_ultravncwinvncwinvnc_vsocket.cpp_:_zero_bytes_read1_n
jmp 0x43b11c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.C:Users_rudiDesktopgit_ultravncwinvncwinvnc_vsocket.cpp_:_socket_error_1:__d_n
push 4
push 0x5d7d48
call fcn.0041c960
add esp, 0x10
jmp 0x43b12b
push str.C:Users_rudiDesktopgit_ultravncwinvncwinvnc_vsocket.cpp_:_WriteExact:_DSMPlugin_RestoreBuffer_Alloc_Error_n
push 4
push 0x5d7d48
call fcn.0041c960
add esp, 0xc
test esi, esi
jne 0x43b1da
push dword [ebp - 0x170]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [ebp - 0x124]
push edi
call fcn.0053d63e
add esp, 4
jmp 0x43b238
push str.C:Users_rudiDesktopgit_ultravncwinvncwinvnc_vsocket.cpp_:_zero_bytes_read1_n
jmp 0x43b17c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.C:Users_rudiDesktopgit_ultravncwinvncwinvnc_vsocket.cpp_:_socket_error_1:__d_n
push 4
push 0x5d7d48
call fcn.0041c960
add esp, 0x10
jmp 0x43b18b
push str.C:Users_rudiDesktopgit_ultravncwinvncwinvnc_vsocket.cpp_:_WriteExact:_DSMPlugin_RestoreBuffer_Alloc_Error_n
push 4
push 0x5d7d48
call fcn.0041c960
add esp, 0xc
test esi, esi
jne 0x43b1da
push dword [ebp - 0x178]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [ebp - 0x124]
push edi
call fcn.0053d63e
add esp, 4
jmp 0x43b238
push str.C:Users_rudiDesktopgit_ultravncwinvncwinvnc_vsocket.cpp_:_zero_bytes_read2_n
push 4
push 0x5d7d48
call fcn.0041c960
mov edi, dword [ebp - 0x124]
add esp, 0xc
push edi
call fcn.0053d63e
add esp, 4
jmp 0x43b238
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, dword [ebp - 0x124]
push edi
call fcn.0053d63e
add esp, 4
jmp 0x43b238
mov eax, dword [ebx + 0x26c]
push dword [ebp - 0x128]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x43b238
mov ecx, dword [esi + 4]
push dword [ebp - 0x128]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [ebx + 0x26c]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov edx, eax
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x43b222
mov ecx, dword [ebp - 0x168]
sub edx, esi
push edx
push eax
call fcn.0041c000
mov edi, dword [ebp - 0x120]
xor esi, esi
mov eax, dword [ebp - 0x180]
test eax, eax
je 0x43b253
push eax
call fcn.0053d63e
add esp, 4
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x43b266
push eax
call fcn.0053d63e
add esp, 4
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b270
sub ecx, edx
push ecx
push 0
push edi
call fcn.0053f2b0
push edi
call fcn.005417da
add esp, 0x10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0053d630
mov esp, ebp
pop ebp
ret 4