Function at 0x6b4c8f60
Capabilities:
Set socket configuration

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x30
mov ebx, dword [esp + 0x44]
push 0
call dword [sym.imp.msvcrt.dll_time]
add esp, 4
mov esi, eax
lea eax, [ebx + 0xca54]
mov dword [esp + 0xc], eax
lea eax, [ebx + 0xcb90]
mov dword [esp + 0x10], eax
lea eax, [ebx + 0xcb70]
mov dword [esp + 0x20], eax
lea eax, [ebx + 0xcb71]
mov dword [esp + 0x18], eax
lea eax, [ebx + 0xcb75]
mov dword [esp + 0x14], eax
lea eax, [ebx + 0xcb68]
mov dword [esp + 4], eax
lea eax, [ebx + 0xcb6c]
mov dword [esp + 8], eax
lea eax, [ebx + 0xcb88]
mov dword [esp + 0x1c], eax
lea ebp, [esp + 3]
nop
nop
nop
nop
mov ecx, dword [ebx + 0xcb64]
mov eax, 0xffffffde
cmp ecx, 7
ja case.0x6b4c8fe4.49
jmp dword [ecx*4 + 0x6b74a6b4]
mov eax, dword [esp + 0x48]
cmp eax, 0xffffffff
je 0x6b4c906a
mov dword [ebx + 0x144], eax
mov dword [esp + 0x24], 4
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x2c]
push ecx
push 0x1007
push 0xffff
push eax
call dword [sym.imp.WS2_32.dll_getsockopt]
xor ecx, ecx
or eax, dword [esp + 0x28]
sete cl
mov dword [ebx + 0x150], ecx
je 0x6b4c9076
mov dword [ebx + 0xcb64], 2
cmp dword [ebx + 0xca50], 0
je 0x6b4c904d
mov edi, 0x18
mov eax, str.SSH_2.0_libssh2_1.10.0_r_n
jmp 0x6b4c90b7
mov eax, dword [ebx + 0xf0]
test eax, eax
je 0x6b4c90a3
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
mov eax, dword [ebx + 0xf0]
jmp 0x6b4c90ad
push str.Bad_socket_provided
push 0xffffffffffffffd3
jmp 0x6b4c9401
mov eax, dword [ebx + 0x144]
mov dword [esp + 0x2c], 1
lea ecx, [esp + 0x2c]
push ecx
push 0x8004667e
push eax
call dword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
je 0x6b4c902e
push str.Failed_changing_sockets_blocking_state_to_non_blocking
jmp 0x6b4c9400
mov edi, 0x18
mov eax, str.SSH_2.0_libssh2_1.10.0_r_n
mov dword [ebx + 0xca50], 2
and byte [ebx + 0x14c], 0xfd
mov ecx, dword [ebx + 0xcb54]
add eax, ecx
mov edx, edi
sub edx, ecx
push ebx
push 0
push edx
push eax
push dword [ebx + 0x144]
call dword [ebx + 0x24]
add esp, 0x14
mov ecx, dword [ebx + 0xcb54]
sub edi, ecx
cmp eax, edi
jne 0x6b4c93c7
mov dword [ebx + 0xcb54], 0
mov dword [ebx + 0xcb64], 3
mov dword [ebx + 0xca50], 0
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + 0xca50], 0
je 0x6b4c9130
mov edi, dword [ebx + 0xcb54]
cmp edi, 0xff
jg 0x6b4c91a7
jmp 0x6b4c9140
mov dword [ebx + 0xca50], 2
xor edi, edi
nop
nop
nop
nop
test edi, edi
je 0x6b4c914e
cmp byte [ebx + edi + 0xca53], 0xa
je 0x6b4c91a7
mov byte [esp + 3], 0
and byte [ebx + 0x14c], 0xfe
push ebx
push 0
push 1
push ebp
push dword [ebx + 0x144]
call dword [ebx + 0x28]
add esp, 0x14
test eax, eax
js 0x6b4c920f
je 0x6b4c9236
movzx eax, byte [esp + 3]
test al, al
je 0x6b4c924e
mov byte [ebx + edi + 0xca54], al
inc edi
cmp edi, 0x100
jne 0x6b4c9140
mov edi, 0x100
jmp 0x6b4c91a7
dec edi
je 0x6b4c93a0
movzx eax, byte [ebx + edi + 0xca53]
cmp al, 0xd
je 0x6b4c91a0
cmp al, 0xa
je 0x6b4c91a0
mov dword [ebx + 0xca50], 0
mov dword [ebx + 0xcb54], 0
mov eax, dword [ebx + 0xb8]
test eax, eax
je 0x6b4c91dd
push ebx
push eax
call dword [ebx + 0xc]
add esp, 8
lea eax, [edi + 1]
push ebx
push eax
call dword [ebx + 4]
add esp, 8
mov dword [ebx + 0xb8], eax
test eax, eax
je 0x6b4c9270
push edi
push dword [esp + 0x10]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0xb8]
mov byte [eax + edi], 0
jmp 0x6b4c92b0
cmp eax, 0xfffffff5
jne 0x6b4c9289
mov dword [ebx + 0x14c], 1
mov dword [ebx + 0xcb54], edi
mov eax, 0xffffffdb
test eax, eax
je 0x6b4c92b0
jmp 0x6b4c94a7
mov dword [ebx + 0x148], 0xffffffff
mov eax, 0xfffffff3
test eax, eax
je 0x6b4c92b0
jmp 0x6b4c94a7
mov dword [ebx + 0xca50], 0
mov dword [ebx + 0xcb54], 0
mov eax, 0xfffffffe
test eax, eax
je 0x6b4c92b0
jmp 0x6b4c94a7
push str.Error_allocating_space_for_remote_banner
push 0xfffffffffffffffa
push ebx
call fcn.6b4c5c00
add esp, 0xc
test eax, eax
je 0x6b4c92b0
jmp 0x6b4c94a7
mov dword [ebx + 0xca50], 0
mov dword [ebx + 0xcb54], 0
mov eax, 0xffffffd5
test eax, eax
jne 0x6b4c94a7
nop
nop
nop
nop
nop
nop
push 4
push dword [ebx + 0xb8]
push str.SSH_
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne case.0x6b4c8fe4.51
mov dword [ebx + 0xcb64], 4
push dword [esp + 0x10]
push 0
push ebx
call fcn.6b4bf040
add esp, 0xc
cmp eax, 0xffffffdb
je 0x6b4c9413
test eax, eax
jne 0x6b4c93ed
mov dword [ebx + 0xcb64], 5
mov byte [ebx + 0xcb70], 5
push 0xc
push dword [esp + 0x1c]
call fcn.6b4c5d10
add esp, 8
push 0xc
push str.ssh_userauth
push dword [esp + 0x1c]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [ebx + 0xcb64], 6
push 0
push 0
push 0x11
push dword [esp + 0x2c]
push ebx
call fcn.6b4d2110
add esp, 0x14
cmp eax, 0xffffffdb
je 0x6b4c9413
test eax, eax
jne 0x6b4c93c0
mov dword [ebx + 0xcb64], 7
push dword [esp + 0x1c]
push 0
push 0
push 0
push dword [esp + 0x18]
push dword [esp + 0x18]
push 6
push ebx
call fcn.6b4c7730
add esp, 0x20
test eax, eax
jne 0x6b4c940a
mov eax, dword [esp + 8]
cmp dword [eax], 4
ja 0x6b4c944c
push str.Unexpected_packet_length
push 0xfffffffffffffff2
jmp 0x6b4c9401
mov dword [ebx + 0xca50], 0
mov dword [ebx + 0xcb54], 0
mov eax, 0xfffffffe
push str.Failed_getting_banner
jmp 0x6b4c9400
push str.Unable_to_ask_for_ssh_userauth_service
jmp 0x6b4c9400
test eax, eax
jns 0x6b4c9434
cmp eax, 0xfffffff5
je 0x6b4c9434
mov dword [ebx + 0xca50], 0
mov dword [ebx + 0xcb54], 0
push str.Failed_sending_banner
push 0xffffffffffffffd5
jmp 0x6b4c9401
push str.Unable_to_exchange_encryption_keys
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push eax
push ebx
call fcn.6b4c5c00
add esp, 0xc
cmp eax, 0xffffffdb
jne case.0x6b4c8fe4.49
cmp dword [ebx + 0x50], 0
je 0x6b4c94ba
push esi
push ebx
call fcn.6b4c8dd0
add esp, 8
test eax, eax
je 0x6b4c8fd0
jmp case.0x6b4c8fe4.49
mov dword [ebx + 0x14c], 2
test eax, eax
jle 0x6b4c9413
add ecx, eax
mov dword [ebx + 0xcb54], ecx
jmp 0x6b4c9413
mov eax, dword [ebx + 0xcb68]
inc eax
push eax
call fcn.6b4c5cf0
add esp, 4
mov dword [ebx + 0xcb84], eax
cmp eax, 0xc
jne 0x6b4c9484
mov eax, dword [esp + 4]
mov eax, dword [eax]
add eax, 5
push 0xc
push eax
push str.ssh_userauth
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x6b4c94c7
push ebx
push dword [ebx + 0xcb68]
call dword [ebx + 0xc]
add esp, 8
mov dword [ebx + 0xcb68], 0
push str.Invalid_response_received_from_server
push 0xfffffffffffffff2
jmp 0x6b4c9401
cmp eax, 0xffffffdb
je 0x6b4c9413
push str.Failed_getting_banner
jmp 0x6b4c9400
mov eax, 0xffffffdb
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret
push ebx
push dword [ebx + 0xcb68]
call dword [ebx + 0xc]
add esp, 8
mov dword [ebx + 0xcb68], 0
mov dword [ebx + 0xcb64], 0
xor eax, eax
jmp case.0x6b4c8fe4.49