joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1801642a0
Capabilities:
Connect socket
Connect udp socket
Create udp socket

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov esi, 2
mov qword [rcx + 8], 0
mov rdi, rcx
mov edx, esi
mov ecx, esi
xor r8d, r8d
mov rbx, r9
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rdi], rax
cmp rax, 0xffffffffffffffff
jne 0x1801642fb
mov rax, qword [rbx]
lea rdx, str.Failed_to_create_a_UDP_socket.
mov rcx, rbx
call qword [rax + 0x28]
xor al, al
jmp 0x18016436e
lea rcx, [rdi + 0x28]
mov qword [rsp + 0x28], 0
mov word [rsp + 0x20], si
call fcn.180010a70
mov rcx, rax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov ecx, 0x35
mov dword [rsp + 0x24], eax
call qword [sym.imp.WS2_32.dll_htons]
mov rcx, qword [rdi]
lea rdx, [rsp + 0x20]
mov r8d, reloc.WS2_32.dll_recv
mov word [rsp + 0x22], ax
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x18016436c
mov rax, qword [rbx]
lea rdx, str.Failed_to_specify_a_UDP_socket_destination_address.
mov rcx, rbx
call qword [rax + 0x28]
mov rcx, qword [rdi]
call qword [sym.imp.WS2_32.dll_closesocket]
xor al, al
mov qword [rdi], 0xffffffffffffffff
jmp 0x18016436e
mov al, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.180009610
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret

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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x670
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x660], rax
mov rsi, qword [rsp + 0x6c0]
mov rdi, r8
mov rbx, qword [rsp + 0x6c8]
mov r14, rdx
movsxd rbp, ecx
mov rcx, r8
call fcn.18001d560
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x640
call fcn.180018e30
mov rdx, rbx
mov rcx, rsi
call fcn.18017a830
test al, al
je 0x180164409
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [str.DNS_query_aborted_by_application.]
call qword [rax + 0x28]
xor al, al
jmp 0x1801644a5
imul rcx, rbp, 0xb8
xor r9d, r9d
lea rdx, [rsp + 0x20]
mov r8d, 0x640
mov rcx, qword [rcx + r14]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x18016447d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2743
jne 0x18016445e
mov byte [rsi + 0x2c], 1
mov ecx, eax
xor edx, edx
mov r8, rbx
call fcn.18016a3c0
mov rax, qword [rbx]
lea rdx, str.Failed_to_receive_DNS_query_response_on_UDP_socket.
mov rcx, rbx
call qword [rax + 0x28]
xor al, al
jmp 0x1801644a5
cmp eax, 0x2733
je 0x180164469
mov ecx, eax
jmp 0x180164440
mov rax, qword [rbx]
lea rdx, str.Received_0_bytes.
mov rcx, rbx
call qword [rax + 0x28]
xor al, al
jmp 0x1801644a5
test eax, eax
jne 0x180164495
mov rax, qword [rbx]
lea rdx, str.Received_0_response_from_recv.
mov rcx, rbx
call qword [rax + 0x28]
xor al, al
jmp 0x1801644a5
mov r8d, eax
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.18001b830
mov rcx, qword [rsp + 0x660]
xor rcx, rsp
call fcn.180009610
add rsp, 0x670
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1801651c0
Capabilities:
Send data
Send data on socket

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rax, qword [rcx]
mov r10d, r8d
mov rdi, qword [rsp + 0x90]
mov rbp, rdx
mov rsi, rcx
cmp rax, 0xffffffffffffffff
jne 0x180165208
mov rax, qword [rdi]
lea rdx, str.Cannot_send_to_invalid_UDP_socket
mov rcx, rdi
call qword [rax + 0x28]
xor al, al
jmp 0x1801652f8
cmp dword [rcx + 0x10], 6
jl 0x180165225
mov rax, qword [rdi]
lea rdx, str.Too_many_retries_for_this_nameserver.
mov rcx, rdi
call qword [rax + 0x28]
xor al, al
jmp 0x1801652f8
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov edx, r10d
mov ecx, eax
call fcn.180165750
test al, al
jne 0x180165262
lea rdx, str.Waited__but_cannot_send_on_UDP_socket_without_waiting_longer.
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
mov rcx, qword [rsi]
call qword [sym.imp.WS2_32.dll_closesocket]
xor al, al
mov qword [rsi], 0xffffffffffffffff
jmp 0x1801652f8
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x48], rbx
mov ecx, 2
call fcn.18005aa00
mov rcx, rbp
call fcn.18001f920
movzx edx, byte [rsp + 0x30]
mov rcx, rbp
mov byte [rax], dl
movzx edx, byte [rsp + 0x31]
mov byte [rax + 1], dl
movsxd rdx, dword [rsi + 0x10]
movzx eax, byte [rsp + 0x30]
mov byte [rsi + rdx*2 + 0x14], al
movsxd rdx, dword [rsi + 0x10]
movzx eax, byte [rsp + 0x31]
mov byte [rsi + rdx*2 + 0x15], al
call fcn.18001fd80
mov rcx, rbp
mov ebx, eax
call fcn.18001f920
mov rcx, qword [rsi]
mov rdx, rax
xor r9d, r9d
mov r8d, ebx
call qword [sym.imp.WS2_32.dll_send]
mov rbx, qword [rsp + 0x48]
cmp eax, 0xffffffff
jne 0x1801652f3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8, rdi
xor edx, edx
mov ecx, eax
call fcn.18016a3c0
lea rdx, str.Failed_to_send_DNS_query_on_UDP_socket.
jmp 0x180165242
inc dword [rsi + 0x10]
mov al, 1
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.180009610
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
Function at 0x1801663b0
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
cmp dword [rcx + 0x298], 2
je fcn.180167740
jmp fcn.180167850
Function at 0x180166bd0
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x80
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rbx, rcx
mov rcx, qword [rcx + 0x290]
cmp rcx, 0xffffffffffffffff
jne 0x180166bff
xor al, al
jmp 0x180166c90
xor r8d, r8d
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], r8d
test dl, dl
je 0x180166c70
mov qword [rsp + 0x40], r8
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], r8
lea r9d, [r8 + 0xc]
mov qword [rsp + 0x30], rax
mov edx, 0x98000004
mov dword [rsp + 0x28], r8d
mov qword [rsp + 0x20], r8
mov dword [rsp + 0x50], r8d
lea r8, [rsp + 0x60]
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x68], 0x7148
mov dword [rsp + 0x64], 0x1d0d8
call qword [sym.imp.WS2_32.dll_WSAIoctl]
mov rcx, qword [rbx + 0x290]
lea r9, [rsp + 0x54]
jmp 0x180166c75
lea r9, [rsp + 0x58]
mov r8d, 8
mov dword [rsp + 0x20], 4
mov edx, 0xffff
call qword [sym.imp.WS2_32.dll_setsockopt]
mov al, 1
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.180009610
add rsp, 0x80
pop rbx
ret

Function at 0x180167110
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rsi, rcx
mov rdi, rdx
mov rcx, qword [rcx + 0x290]
cmp rcx, 0xffffffffffffffff
je 0x1801671b4
mov r8d, dword [rsi + 0xd4]
mov qword [rsp + 0x40], rbx
lea eax, [r8 - 0x1000]
cmp eax, 0x7ff000
ja 0x1801671af
and r8d, 0xfffff000
mov dword [rsi + 0xd4], r8d
cmp byte [rdx + 0x169], 0
je 0x18016718f
mov rax, qword [rdx]
mov rcx, rdi
lea rdx, str.Setting_SO_RCVBUF_size
call qword [rax + 0x30]
mov r8d, dword [rsi + 0xd4]
lea rdx, str.recvBufSize
mov rcx, rdi
call fcn.18002a810
mov rcx, qword [rsi + 0x290]
lea r9, [rsi + 0xd4]
mov dword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, 0x1002
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret

Function at 0x1801671c0
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rsi, rcx
mov rdi, rdx
mov rcx, qword [rcx + 0x290]
cmp rcx, 0xffffffffffffffff
je 0x180167264
mov r8d, dword [rsi + 0xd0]
mov qword [rsp + 0x40], rbx
lea eax, [r8 - 0x1000]
cmp eax, 0x7ff000
ja 0x18016725f
and r8d, 0xfffff000
mov dword [rsi + 0xd0], r8d
cmp byte [rdx + 0x169], 0
je 0x18016723f
mov rax, qword [rdx]
mov rcx, rdi
lea rdx, str.Setting_SO_SNDBUF_size
call qword [rax + 0x30]
mov r8d, dword [rsi + 0xd0]
lea rdx, str.sendBufSize
mov rcx, rdi
call fcn.18002a810
mov rcx, qword [rsi + 0x290]
lea r9, [rsi + 0xd0]
mov dword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, 0x1001
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x180167740
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push rbx
push rsi
push rdi
push r14
sub rsp, 0x68
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rdi, r9
mov r14, r8
mov rsi, rdx
mov rbx, rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rax
lea r8, str.ck_getsockname_ipv4
mov rdx, r9
lea rcx, [rsp + 0x38]
call fcn.180029f30
nop
mov rcx, rsi
call fcn.180018a20
mov dword [r14], 0
mov rcx, qword [rbx + 0x290]
cmp rcx, 0xffffffffffffffff
je 0x18016780f
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x28]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
js 0x1801677eb
mov ecx, dword [rsp + 0x2c]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov rdx, rax
mov rcx, rsi
call fcn.1800146c0
movzx ecx, word [rsp + 0x2a]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
mov dword [r14], eax
mov bl, 1
jmp 0x180167821
mov rax, qword [rdi]
lea rdx, str.Failed_to_getsockname
mov rcx, rdi
call qword [rax + 0x28]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8, rdi
xor edx, edx
mov ecx, eax
call fcn.18016a3c0
jmp 0x18016781f
mov rax, qword [rdi]
lea rdx, str.Cannot_get_socket_name:_INVALID_SOCKET.
mov rcx, rdi
call qword [rax + 0x28]
xor bl, bl
lea rcx, [rsp + 0x38]
call fcn.18002a0e0
movzx eax, bl
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.180009610
add rsp, 0x68
pop r14
pop rdi
pop rsi
pop rbx
ret

Function at 0x180167850
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push rbx
push rsi
push rdi
push r14
sub rsp, 0x78
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rdi, r9
mov r14, r8
mov rsi, rdx
mov rbx, rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rax
lea r8, str.ck_getsockname_ipv6
mov rdx, r9
lea rcx, [rsp + 0x28]
call fcn.180029f30
nop
mov rcx, rsi
call fcn.180018a20
mov dword [r14], 0
mov rcx, qword [rbx + 0x290]
cmp rcx, 0xffffffffffffffff
je 0x18016791f
mov dword [rsp + 0x20], 0x1c
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
js 0x1801678fb
mov rcx, rsi
call fcn.180018a20
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1801693e0
movzx ecx, word [rsp + 0x42]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
mov dword [r14], eax
mov bl, 1
jmp 0x180167931
mov rax, qword [rdi]
lea rdx, str.Failed_to_getsockname_ipv6
mov rcx, rdi
call qword [rax + 0x28]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8, rdi
xor edx, edx
mov ecx, eax
call fcn.18016a3c0
jmp 0x18016792f
mov rax, qword [rdi]
lea rdx, str.Cannot_get_socket_name:_INVALID_SOCKET.
mov rcx, rdi
call qword [rax + 0x28]
xor bl, bl
lea rcx, [rsp + 0x28]
call fcn.18002a0e0
movzx eax, bl
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.180009610
add rsp, 0x78
pop r14
pop rdi
pop rsi
pop rbx
ret
Function at 0x18016a1f0
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x1000]
mov eax, 0x1100
call fcn.1801e7850
sub rsp, rax
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rbp + 0xff0], rax
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.18017a6b0
mov rdx, rbx
mov rcx, rdi
call fcn.18017a830
test al, al
je 0x18016a25d
mov byte [rdi + 0x29], 1
mov rax, qword [rbx]
lea rdx, str.Wait_for_data_on_socket_aborted_by_app
mov rcx, rbx
call qword [rax + 0x28]
xor al, al
jmp 0x18016a31f
cmp qword [rsi + 0x290], 0xffffffffffffffff
jne 0x18016a282
mov rax, qword [rbx]
lea rdx, str.Cannot_wait_for_socket_data:_not_connected__invalid_socket_
mov rcx, rbx
call qword [rax + 0x28]
mov byte [rdi + 0x2a], 1
xor al, al
jmp 0x18016a31f
xor r14d, r14d
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x40]
call fcn.18003c900
lea r15, vtable.ckFdSet.0
mov qword [rsp + 0x40], r15
mov ebx, 0x3004bc8d
mov dword [rsp + 0x50], ebx
mov dword [rbp + 0xfe0], ebx
mov dword [rsp + 0x58], r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0xf60], xmm0
movups xmmword [rbp + 0xf70], xmm0
movups xmmword [rbp + 0xf80], xmm0
movups xmmword [rbp + 0xf90], xmm0
movups xmmword [rbp + 0xfa0], xmm0
movups xmmword [rbp + 0xfb0], xmm0
movups xmmword [rbp + 0xfc0], xmm0
movups xmmword [rbp + 0xfd0], xmm0
movsxd r9, dword [rsi + 0x290]
test r9d, r9d
jns 0x18016a345
mov byte [rdi + 0x2a], 1
xor bl, bl
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x50], r14d
mov dword [rbp + 0xfe0], r14d
lea rcx, [rsp + 0x40]
call fcn.18003c9e0
movzx eax, bl
mov rcx, qword [rbp + 0xff0]
xor rcx, rsp
call fcn.180009610
mov rbx, qword [rsp + 0x1148]
add rsp, 0x1100
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + r14*8 + 0x60], r9
inc dword [rsp + 0x58]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x58]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
js 0x18016a2ff
jne 0x18016a377
mov byte [rdi + 0x28], 1
jmp 0x18016a2ff
mov bl, 1
jmp 0x18016a301
Function at 0x18016a380
Capabilities:
Set socket configuration

Disassembly:
cmp edx, dword [rcx + 0xd4]
je 0x18016a39a
mov dword [rcx + 0xd4], edx
test edx, edx
je 0x18016a39a
mov rdx, r8
jmp fcn.180167110
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp dword [rcx + 0xcc], 0xc64d29ea
mov rdi, r8
mov esi, edx
mov rbx, rcx
jne 0x18018bc08
mov rax, qword [rcx + 0xed8]
test rax, rax
je 0x18018bc38
cmp dword [rax + 0x3c], 0xc64d29ea
je 0x18018bc52
xor ecx, ecx
call fcn.18000d700
cmp dword [rbx + 0xee8], 2
jne 0x18018bc5f
lea rcx, [rbx + 0x220]
mov r8, rdi
mov edx, esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x1801cbd90
cmp dword [rcx + 0xee8], 2
jne 0x18018bc0f
add rcx, 0x220
call fcn.1801cbca0
test rax, rax
je 0x18018bc0f
mov rcx, rax
call fcn.1801cde90
mov rcx, rax
jmp 0x18018bc66
lea rcx, [rbx + 0xb50]
mov r8, rdi
mov edx, esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x18016a380
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
lea rdi, [rcx + 0x18]
mov rbx, r8
mov rcx, rdi
mov esi, edx
call fcn.1801c9d60
test rax, rax
jne 0x1801cbdd5
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [str.No_socket_connection.]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp qword [rax + 0x28]
mov r8, rbx
mov edx, esi
mov rcx, rax
call 0x18016a380
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.1801ca0c0

Function at 0x18016a3a0
Capabilities:
Set socket configuration

Disassembly:
cmp edx, dword [rcx + 0xd0]
je 0x18016a3ba
mov dword [rcx + 0xd0], edx
test edx, edx
je 0x18016a3ba
mov rdx, r8
jmp fcn.1801671c0
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp dword [rcx + 0xcc], 0xc64d29ea
mov rdi, r8
mov esi, edx
mov rbx, rcx
jne 0x18018bcb8
mov rax, qword [rcx + 0xed8]
test rax, rax
je 0x18018bce8
cmp dword [rax + 0x3c], 0xc64d29ea
je 0x18018bd02
xor ecx, ecx
call fcn.18000d700
cmp dword [rbx + 0xee8], 2
jne 0x18018bd0f
lea rcx, [rbx + 0x220]
mov r8, rdi
mov edx, esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x1801cbe00
cmp dword [rcx + 0xee8], 2
jne 0x18018bcbf
add rcx, 0x220
call fcn.1801cbca0
test rax, rax
je 0x18018bcbf
mov rcx, rax
call fcn.1801cde90
mov rcx, rax
jmp 0x18018bd16
lea rcx, [rbx + 0xb50]
mov r8, rdi
mov edx, esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x18016a3a0
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
lea rdi, [rcx + 0x18]
mov rbx, r8
mov rcx, rdi
mov esi, edx
call fcn.1801c9d60
test rax, rax
jne 0x1801cbe45
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [str.No_socket_connection.]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp qword [rax + 0x28]
mov r8, rbx
mov edx, esi
mov rcx, rax
call 0x18016a3a0
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.1801ca0c0
Function at 0x18016ab00
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rcx
mov rcx, qword [rcx + 0x290]
cmp rcx, 0xffffffffffffffff
je 0x18016ab9b
movzx eax, byte [r8 + 0x169]
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x34], 0
test dl, dl
je 0x18016ab63
test al, al
je 0x18016ab5c
mov rax, qword [r8]
lea rdx, str.Turning_on_TCP_NODELAY.
mov rcx, r8
call qword [rax + 0x30]
mov rcx, qword [rbx + 0x290]
lea r9, [rsp + 0x30]
jmp 0x18016ab83
test al, al
je 0x18016ab7e
mov rax, qword [r8]
lea rdx, str.Turning_off_TCP_NODELAY.
mov rcx, r8
call qword [rax + 0x30]
mov rcx, qword [rbx + 0x290]
lea r9, [rsp + 0x34]
mov r8d, 1
mov dword [rsp + 0x20], 4
lea edx, [r8 + 5]
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.180009610
add rsp, 0x40
pop rbx
ret

Function at 0x18016abb0
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rdi, r8
mov rsi, rcx
cmp dword [rcx + 0xd4], edx
je 0x18016ac52
cmp edx, 0x1000
jb 0x18016ac52
mov eax, 0x800000
cmp edx, eax
cmovbe eax, edx
and eax, 0xfffff000
mov dword [rcx + 0xd4], eax
mov rcx, qword [rcx + 0x290]
cmp rcx, 0xffffffffffffffff
je 0x18016ac52
cmp byte [r8 + 0x169], 0
je 0x18016ac32
mov rax, qword [r8]
lea rdx, str.Setting_SO_RCVBUF_size
mov rcx, r8
call qword [rax + 0x30]
mov r8d, dword [rsi + 0xd4]
lea rdx, str.recvBufSize
mov rcx, rdi
call fcn.18002a810
mov rcx, qword [rsi + 0x290]
lea r9, [rsi + 0xd4]
mov dword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, 0x1002
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret

Function at 0x18016ac70
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x30
cmp dword [rcx + 0xc8], 0x4901fb2a
mov rbx, r8
mov rsi, rcx
je 0x18016acad
mov rax, qword [r8]
lea rdx, str.Internal_error:_Socket_object_already_deleted.
mov rcx, rbx
call qword [rax + 0x28]
xor ecx, ecx
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rsi
jmp fcn.18000d700
mov qword [rsp + 0x40], rdi
cmp dword [rcx + 0xd0], edx
je 0x18016ad3f
cmp edx, 0x1000
jb 0x18016ad3f
mov eax, 0x800000
cmp edx, eax
cmovbe eax, edx
and eax, 0xfffff000
mov dword [rcx + 0xd0], eax
mov rcx, qword [rcx + 0x290]
cmp rcx, 0xffffffffffffffff
je 0x18016ad3f
cmp byte [r8 + 0x169], 0
je 0x18016ad1f
mov rax, qword [r8]
lea rdx, str.Setting_SO_SNDBUF_size
mov rcx, rbx
call qword [rax + 0x30]
mov r8d, dword [rsi + 0xd0]
lea rdx, str.sendBufSize
mov rcx, rbx
call fcn.18002a810
mov rcx, qword [rsi + 0x290]
lea r9, [rsi + 0xd0]
mov dword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, 0x1001
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rsi
ret
Function at 0x18016ad50
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x50
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rdi, rdx
mov rbx, rcx
mov rcx, qword [rcx + 0x290]
cmp rcx, 0xffffffffffffffff
jne 0x18016ad9d
mov byte [rbx + 0x288], 0
xor al, al
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.180009610
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
cmp byte [rbx + 0x288], 0
je 0x18016ad83
cmp byte [rbx + 0xce], 0
jne 0x18016ad83
cmp byte [rbx + 0xcd], 0
jne 0x18016ae44
cmp byte [rbx + 0xcc], 0
jne 0x18016ae44
cmp byte [rdx + 0x173], 0
jne 0x18016ae44
mov r9d, 2
lea r8d, [r9 - 1]
lea rdx, [rsp + 0x38]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jne 0x18016adf4
mov rdx, rdi
mov rcx, rbx
call fcn.18016a060
jmp 0x18016ad83
cmp eax, 0xffffffff
jg 0x18016ae44
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x18016ae44
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rax
lea r8, str.isConnected_recv_peek
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.180029f30
nop
mov rdx, rdi
xor ecx, ecx
call fcn.18016a960
nop
lea rcx, [rsp + 0x20]
call fcn.18002a0e0
jmp 0x18016ad83
mov al, 1
jmp 0x18016ad85
Function at 0x18018b7f0
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp dword [rcx + 0xcc], 0xc64d29ea
mov rdi, r8
movzx esi, dl
mov rbx, rcx
jne 0x18018b829
mov rax, qword [rcx + 0xed8]
test rax, rax
je 0x18018b85b
cmp dword [rax + 0x3c], 0xc64d29ea
je 0x18018b875
xor ecx, ecx
call fcn.18000d700
cmp dword [rbx + 0xee8], 2
mov rdx, rdi
jne 0x18018b949
lea rcx, [rbx + 0x220]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x1801cbec0
cmp dword [rcx + 0xee8], 2
jne 0x18018b830
add rcx, 0x220
call fcn.1801cbca0
test rax, rax
je 0x18018b830
mov rdx, rdi
mov rcx, rax
call fcn.1801cf170
test al, al
je 0x18018b91e
test sil, sil
jne 0x18018b89f
mov al, 1
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp byte [rdi + 0x169], 0
je 0x18018b8b8
mov rax, qword [rdi]
lea rdx, str.Checking_SSH_channel...
mov rcx, rdi
call qword [rax + 0x30]
cmp qword [rbx + 0xed8], 0
je 0x18018b8dd
mov eax, dword [rbx + 0xee0]
test eax, eax
setne al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp dword [rbx + 0xee8], 2
jne 0x18018b907
lea rcx, [rbx + 0x220]
call fcn.1801cbc90
test eax, eax
setne al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor eax, eax
test eax, eax
setne al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp byte [rdi + 0x169], 0
je 0x18018b937
mov rax, qword [rdi]
lea rdx, str.SSH_tunnel_is_not_connected.
mov rcx, rdi
call qword [rax + 0x30]
xor al, al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
lea rcx, [rbx + 0xb50]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.18016ad50
add rcx, 0x18
jmp fcn.1801ca420

Function at 0x18018ba60
Capabilities:
Get socket status

Disassembly:
mov rax, qword [rcx + 0xed8]
test rax, rax
je 0x18018ba74
mov rcx, rax
jmp fcn.1801cf940
cmp dword [rcx + 0xee8], 2
jne 0x18018ba89
add rcx, 0x220
jmp fcn.1801cbd70
add rcx, 0xb50
jmp fcn.18016a1f0