joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001dc70
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x40
xor r15d, r15d
mov rdi, r9
mov rbp, rdx
mov r14, rcx
mov esi, r15d
cmp rcx, 0xffffffffffffffff
je 0x14001dda4
test r8b, r8b
je 0x14001dcf8
test byte [rdx], 8
je 0x14001dcf8
mov dword [rsp + 0x60], r15d
call fcn.14006c660
or byte [rbp], 8
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea r9, [rsp + 0x60]
mov edx, 0xffff
mov r8d, 0x80
mov rcx, r14
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
mov ebx, eax
call fcn.14006c660
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test ebx, ebx
jne 0x14001dcf8
call fcn.14006c660
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_closesocket]
mov esi, eax
call fcn.14006c660
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mov qword [rdi], rax
mov qword [rdi + 8], rbx
test esi, esi
je 0x14001dda4
call fcn.14006c660
cmp qword [rdi + 8], rax
jne 0x14001dd40
cmp dword [rdi], 0x2733
je 0x14001dd53
call fcn.14006c660
cmp qword [rdi + 8], rax
jne 0x14001dda0
cmp dword [rdi], 0x4d5
jne 0x14001dda0
lea r8, [rsp + 0x60]
mov edx, 0x8004667e
mov rcx, r14
mov dword [rsp + 0x60], r15d
call qword [sym.imp.WS2_32.dll_ioctlsocket]
and byte [rbp], 0xfc
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_closesocket]
mov esi, eax
call fcn.14006c660
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x30]
mov qword [rdi], rcx
mov qword [rdi + 8], rbx
test esi, esi
jne 0x14001ddba
mov dword [rsp + 0x30], r15d
call fcn.14006c660
mov rcx, qword [rsp + 0x30]
mov qword [rdi], rcx
mov qword [rdi + 8], rax
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov eax, esi
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
Function at 0x14001dde0
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rbp
mov byte [rsp + 0x18], r8b
push rsi
sub rsp, 0x30
mov rsi, r9
mov rbp, rdx
mov rbx, rcx
cmp rcx, 0xffffffffffffffff
jne 0x14001de2e
mov dword [rsp + 0x20], 0x2719
call fcn.14006c660
mov rcx, qword [rsp + 0x20]
mov qword [rsi], rcx
mov qword [rsi + 8], rax
xor al, al
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rsi
ret
xor ecx, ecx
mov qword [rsp + 0x40], rdi
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea r8, [rsp + 0x50]
mov edx, 0x8004667e
mov rcx, rbx
mov dword [rsp + 0x50], 1
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov edi, eax
call fcn.14006c660
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test edi, edi
mov rdi, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x20]
mov qword [rsi], rcx
mov qword [rsi + 8], rbx
js 0x14001de1c
mov dword [rsp + 0x20], 0
call fcn.14006c660
mov rcx, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x48]
mov qword [rsi], rcx
mov qword [rsi + 8], rax
or byte [rbp], 2
mov rbp, qword [rsp + 0x58]
mov al, 1
add rsp, 0x30
pop rsi
ret

Function at 0x14001deb0
Capabilities:
Connect socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
mov rdi, r9
mov rsi, r8
mov rbp, rdx
mov rbx, rcx
cmp rcx, 0xffffffffffffffff
jne 0x14001def3
mov dword [rsp + 0x20], 0x2719
call fcn.14006c660
mov rcx, qword [rsp + 0x20]
mov qword [rdi], rcx
mov qword [rdi + 8], rax
or eax, ebx
jmp 0x14001df45
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov r8d, esi
mov rdx, rbp
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_connect]
mov esi, eax
call fcn.14006c660
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x20]
mov qword [rdi], rcx
mov qword [rdi + 8], rbx
test esi, esi
jne 0x14001df43
mov dword [rsp + 0x20], esi
call fcn.14006c660
mov rcx, qword [rsp + 0x20]
mov qword [rdi], rcx
mov qword [rdi + 8], rax
mov eax, esi
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x14001e0d0
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
sub rsp, 0x50
mov rdi, rcx
xor ecx, ecx
mov rbx, rdx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
xor ebp, ebp
lea rax, [rsp + 0x80]
mov qword [rsp + 0x30], rbp
lea r9, [rsp + 0x88]
lea r8d, [rbp + 1]
mov rdx, rbx
mov rcx, rdi
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x88], ebp
mov dword [rsp + 0x80], ebp
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_WSARecv]
mov esi, eax
call fcn.14006c660
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rdi, qword [rsp + 0x90]
mov dword [rsp + 0x40], eax
mov rcx, qword [rsp + 0x40]
mov qword [rdi], rcx
mov qword [rdi + 8], rbx
mov ecx, dword [rdi]
cmp ecx, 0x40
jne 0x14001e16c
mov dword [rsp + 0x40], 0x2746
jmp 0x14001e17c
cmp ecx, 0x4d2
jne 0x14001e18d
mov dword [rsp + 0x40], 0x274d
call fcn.14006c660
mov rcx, qword [rsp + 0x40]
mov qword [rdi], rcx
mov qword [rdi + 8], rax
test esi, esi
je 0x14001e1a1
or eax, 0xffffffff
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
mov dword [rsp + 0x40], ebp
call fcn.14006c660
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x70]
mov qword [rdi], rcx
mov qword [rdi + 8], rax
mov eax, dword [rsp + 0x88]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret

Function at 0x14001e1d0
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov ebp, ecx
xor ecx, ecx
mov rsi, r9
mov ebx, r8d
mov edi, edx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
xor r9d, r9d
mov r8d, ebx
mov edx, edi
mov ecx, ebp
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
call qword [sym.imp.WS2_32.dll_WSASocketA]
mov rdi, rax
call fcn.14006c660
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x30]
mov qword [rsi], rcx
mov qword [rsi + 8], rbx
cmp rdi, 0xffffffffffffffff
jne 0x14001e242
or rax, rdi
jmp 0x14001e288
cmp ebp, 0x17
jne 0x14001e26c
lea r9, [rsp + 0x68]
lea edx, [rbp + 0x12]
lea r8d, [rbp + 4]
mov rcx, rdi
mov dword [rsp + 0x68], 0
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
mov dword [rsp + 0x30], 0
call fcn.14006c660
mov rcx, qword [rsp + 0x30]
mov qword [rsi], rcx
mov qword [rsi + 8], rax
mov rax, rdi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
Function at 0x14001e2a0
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
sub rsp, 0x30
mov rbp, r9
mov rdi, rdx
mov rbx, rcx
cmp rcx, 0xffffffffffffffff
jne 0x14001e2ee
mov dword [rsp + 0x20], 0x2719
call fcn.14006c660
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x20]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
or eax, ebx
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
xor ecx, ecx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], r14
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov r8, rbp
mov edx, 0x8004667e
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov r14d, eax
call fcn.14006c660
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rsi, qword [rsp + 0x60]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x20]
mov qword [rsi], rcx
mov qword [rsi + 8], rbx
test r14d, r14d
js 0x14001e363
mov dword [rsp + 0x20], 0
call fcn.14006c660
mov rcx, qword [rsp + 0x20]
mov qword [rsi], rcx
mov qword [rsi + 8], rax
cmp dword [rbp], 0
je 0x14001e360
or byte [rdi], 1
jmp 0x14001e363
and byte [rdi], 0xfc
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov eax, r14d
mov r14, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret

Function at 0x14001e380
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov ebp, ecx
xor ecx, ecx
mov rbx, r9
mov rdi, r8
mov rsi, rdx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
test rsi, rsi
jne 0x14001e40a
test rdi, rdi
jne 0x14001e40a
test rbx, rbx
jne 0x14001e40a
mov r8, qword [rsp + 0x70]
test r8, r8
je 0x14001e42f
mov eax, 0x10624dd3
imul dword [r8 + 4]
mov eax, dword [r8]
imul eax, eax, 0x3e8
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, eax
mov eax, 1
cmove ecx, eax
call qword [sym.imp.KERNEL32.dll_Sleep]
mov dword [rsp + 0x30], ebx
call fcn.14006c660
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x30]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
xor eax, eax
jmp 0x14001e489
mov r8, qword [rsp + 0x70]
test r8, r8
je 0x14001e42f
cmp dword [r8], 0
jne 0x14001e42f
mov eax, dword [r8 + 4]
dec eax
cmp eax, 0x3e6
ja 0x14001e42f
mov dword [r8 + 4], 0x3e8
mov qword [rsp + 0x20], r8
mov r9, rbx
mov rdx, rsi
mov r8, rdi
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_select]
mov esi, eax
call fcn.14006c660
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rdi, qword [rsp + 0x78]
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x30]
mov qword [rdi], rcx
mov qword [rdi + 8], rbx
test esi, esi
js 0x14001e487
mov dword [rsp + 0x30], 0
call fcn.14006c660
mov rcx, qword [rsp + 0x30]
mov qword [rdi], rcx
mov qword [rdi + 8], rax
mov eax, esi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
Function at 0x14001f250
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Get local ipv4 addresses
Get socket information
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov dword [rsp + 0x20], 0
call fcn.14006c660
mov rcx, qword [rbx]
mov byte [rsp + 0x40], 2
mov qword [rsp + 0x28], rax
cmp rcx, 0xffffffffffffffff
je 0x14001f28b
lea r9, [rsp + 0x20]
lea rdx, [rsp + 0x40]
mov r8b, 1
call fcn.14001dc70
mov rcx, qword [rbx + 8]
cmp rcx, 0xffffffffffffffff
je 0x14001f2a7
lea r9, [rsp + 0x20]
lea rdx, [rsp + 0x40]
mov r8b, 1
call fcn.14001dc70
mov rcx, rbx
mov qword [rbx + 8], 0xffffffffffffffff
mov qword [rbx], 0xffffffffffffffff
add rsp, 0x30
pop rbx
jmp fcn.14001e8e0
cmp edx, 2
jne 0x14001f92e
add rcx, 0x58
jmp 0x14001f250
repz ret

Function at 0x14001f2d0
Capabilities:
Send data
Send data on socket

Disassembly:
push rbx
sub rsp, 0x50
lea rax, [rsp + 0x60]
mov rbx, rcx
mov byte [rsp + 0x60], 0
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 1
call fcn.14006c660
mov rbx, qword [rbx + 8]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
xor eax, eax
lea r9, [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x40]
lea r8d, [rax + 1]
mov rcx, rbx
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.WS2_32.dll_WSASend]
mov ebx, eax
call fcn.14006c660
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x40
je 0x14001f345
cmp eax, 0x4d2
jne 0x14001f34a
call fcn.14006c660
test ebx, ebx
jne 0x14001f353
call fcn.14006c660
add rsp, 0x50
pop rbx
ret

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

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x480
mov rax, qword [0x140105358]
xor rax, rsp
mov qword [rsp + 0x470], rax
lea rax, [rsp + 0x70]
xor ebp, ebp
mov rsi, rcx
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x48], 0x400
mov dword [rsp + 0x58], ebp
call fcn.14006c660
mov rcx, qword [rsi]
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.14001e0d0
test eax, eax
setg dil
cmp eax, 0x400
jne 0x14001f482
mov qword [rsp + 0x498], rbx
nop dword [rax]
mov rbx, qword [rsi]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rbp
lea r9, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov r8d, 1
mov rcx, rbx
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x40], ebp
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x44], ebp
call qword [sym.imp.WS2_32.dll_WSARecv]
mov ebx, eax
call fcn.14006c660
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x40
je 0x14001f439
cmp eax, 0x4d2
jne 0x14001f43e
call fcn.14006c660
test ebx, ebx
jne 0x14001f451
call fcn.14006c660
cmp dword [rsp + 0x40], 0x400
je 0x14001f3e0
mov rbx, qword [rsp + 0x498]
movzx eax, dil
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.140084590
lea r11, [rsp + 0x480]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
movzx eax, dil
jmp 0x14001f45d
Function at 0x1400203e0
Capabilities:
Send data
Send data on socket

Disassembly:
push rdi
sub rsp, 0x40
mov rax, qword [rcx + 8]
mov r10, r9
mov r11, r8
mov rdi, rcx
lock inc dword [rax + 0x30]
cmp byte [rsp + 0x78], 0
je 0x14002041a
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rcx + 8]
xor r9d, r9d
xor r8d, r8d
add rsp, 0x40
pop rdi
jmp fcn.14001d3a0
mov rcx, qword [rdx]
cmp rcx, 0xffffffffffffffff
jne 0x140020442
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rdi + 8]
xor r9d, r9d
mov r8d, 0x2719
add rsp, 0x40
pop rdi
jmp fcn.14001d3a0
xor eax, eax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rsi
mov rsi, qword [rsp + 0x80]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x70]
lea r9, [rsp + 0x50]
mov r8d, r10d
mov rdx, r11
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call qword [sym.imp.WS2_32.dll_WSASend]
mov ebx, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, 0x274d
cmp eax, 0x4d2
cmove eax, ecx
test ebx, ebx
mov rbx, qword [rsp + 0x58]
je 0x1400204c1
cmp eax, 0x3e5
je 0x1400204c1
mov r9d, dword [rsp + 0x50]
mov rcx, qword [rdi + 8]
mov r8d, eax
mov rdx, rsi
call fcn.14001d3a0
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
mov rcx, qword [rdi + 8]
mov rdx, rsi
call fcn.14001d300
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret

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

Disassembly:
push rbx
sub rsp, 0x50
mov rax, qword [rcx + 8]
mov r10, r9
mov r11, r8
mov rbx, rcx
lock inc dword [rax + 0x30]
cmp byte [rsp + 0x88], 0
je 0x14002051d
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rcx + 8]
xor r9d, r9d
xor r8d, r8d
add rsp, 0x50
pop rbx
jmp fcn.14001d3a0
mov rcx, qword [rdx]
cmp rcx, 0xffffffffffffffff
jne 0x140020545
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rbx + 8]
xor r9d, r9d
mov r8d, 0x2719
add rsp, 0x50
pop rbx
jmp fcn.14001d3a0
mov eax, dword [rsp + 0x80]
xor edx, edx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0x40]
mov dword [rsp + 0x60], edx
mov qword [rsp + 0x70], rdi
mov rdi, qword [rsp + 0x90]
lea r9, [rsp + 0x60]
mov r8d, r10d
mov rdx, r11
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_WSARecv]
mov esi, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x40
jne 0x1400205a1
mov eax, 0x2746
jmp 0x1400205ae
mov ecx, 0x274d
cmp eax, 0x4d2
cmove eax, ecx
test esi, esi
mov rsi, qword [rsp + 0x68]
je 0x1400205dd
cmp eax, 0x3e5
je 0x1400205dd
mov r9d, dword [rsp + 0x60]
mov rcx, qword [rbx + 8]
mov r8d, eax
mov rdx, rdi
call fcn.14001d3a0
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbx
ret
mov rcx, qword [rbx + 8]
mov rdx, rdi
call fcn.14001d300
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbx
ret
Function at 0x14002e690
Capabilities:
Resolve dns

Disassembly:
sub rsp, 0x68
mov rax, qword [0x140105358]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x30], 0
call qword [sym.imp.WS2_32.dll_gethostbyname]
test rax, rax
jne 0x14002e6c5
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140084590
add rsp, 0x68
ret
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], rbp
mov rcx, qword [rax]
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x60], rdi
or edi, 0xffffffff
test rcx, rcx
je 0x14002e6f0
mov edi, dword [rcx]
mov r10d, edi
mov esi, edi
mov ebp, edi
shr r10d, 0x18
shr esi, 0x10
movzx ebx, dil
movzx eax, sil
mov dword [rsp + 0x28], r10d
shr ebp, 8
lea rdx, str._d._d._d._d
lea rcx, [rsp + 0x30]
mov r8d, ebx
movzx r9d, bpl
mov dword [rsp + 0x20], eax
call fcn.1400852c4
cmp ebx, 0xff
mov rbx, qword [rsp + 0x78]
je 0x14002e74a
movzx r8d, sil
movzx edx, bpl
movzx ecx, dil
call fcn.14002e600
jmp 0x14002e74c
xor al, al
mov rsi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140084590
add rsp, 0x68
ret

Function at 0x14002e780
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x70
mov rax, qword [0x140105358]
xor rax, rsp
mov qword [rsp + 0x68], rax
lea r9, [rsp + 0x50]
mov edx, 0xffff
mov r8d, 8
mov rbx, rcx
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x20], 1
call qword [sym.imp.WS2_32.dll_setsockopt]
xor ecx, ecx
lea rax, [rsp + 0x54]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ecx
lea r9d, [rcx + 0xc]
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0x58]
mov rcx, rbx
mov edx, 0x98000004
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x5c], 0xc350
mov dword [rsp + 0x60], 0xc350
call qword [sym.imp.WS2_32.dll_WSAIoctl]
xor eax, eax
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140084590
add rsp, 0x70
pop rbx
ret
Function at 0x14002e830
Capabilities:
Connect socket
Resolve dns

Disassembly:
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x140105358]
xor rax, rsp
mov qword [rsp + 0x98], rax
movzx r13d, r9b
mov r14, r8
mov dword [rsp + 0x50], edx
mov r15, rcx
mov qword [r8], 0
mov byte [rsp + 0x78], 0
call qword [sym.imp.WS2_32.dll_gethostbyname]
test rax, rax
jne 0x14002e88f
lea r8, str.Cannot_resolve__s_n
lea edx, [rax + 3]
mov r9, r15
xor ecx, ecx
call fcn.140015020
xor eax, eax
jmp 0x14002eb6a
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xc0], rbp
mov rcx, qword [rax]
mov qword [rsp + 0xb8], rsi
or ebx, 0xffffffff
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xa8], r12
test rcx, rcx
je 0x14002e8c8
mov ebx, dword [rcx]
mov esi, ebx
mov edi, ebx
mov ebp, ebx
shr esi, 8
shr edi, 0x10
movzx r12d, bl
movzx ecx, sil
movzx eax, dil
shr ebp, 0x18
mov dword [rsp + 0x58], ecx
mov r9d, ecx
lea rdx, str._d._d._d._d
lea rcx, [rsp + 0x78]
mov r8d, r12d
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x20], eax
call fcn.1400852c4
cmp r12d, 0xff
je 0x14002e979
cmp dword [r14 + 0x1000c], 0
lea rcx, str.__SSL_TLS_
lea rax, str.__unsecure_
cmovne rax, rcx
lea rcx, str.DevFee:
test r13b, r13b
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x50]
lea r8, [0x1400d54a0]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x58]
cmovne r8, rcx
mov dword [rsp + 0x28], eax
lea rdx, str._sStratum___connecting_to__s___d._d._d._d__port__d_s_n
mov r9, r15
xor ecx, ecx
mov dword [rsp + 0x20], r12d
call fcn.140014e30
mov r12, qword [rsp + 0xa8]
movzx r8d, dil
movzx edx, sil
movzx ecx, bl
call fcn.14002e600
test r13b, r13b
je 0x14002e99e
mov byte [0x14012ce8f], al
jmp 0x14002e9a4
mov byte [0x1401304a9], al
mov edx, 1
mov ebp, 2
lea r8d, [rdx + 5]
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_socket]
movzx ecx, word [rsp + 0x50]
mov rbx, rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov word [rsp + 0x68], bp
mov qword [rsp + 0x70], rax
call qword [sym.imp.WS2_32.dll_htons]
lea rcx, [rsp + 0x78]
mov word [rsp + 0x6a], ax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov rcx, rbx
mov dword [rsp + 0x6c], eax
call fcn.14002e780
lea r8d, [rbp + 0xe]
lea rdx, [rsp + 0x68]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_connect]
test eax, eax
jne 0x14002eaf9
test rbx, rbx
je 0x14002eb04
cmp dword [r14 + 0x1000c], eax
je 0x14002eb04
mov rcx, qword [0x14012f7c8]
call 0x14058783d
int3
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
xor ebx, ebx
mov qword [r14], rbx
xor r14d, r14d
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rax
lea r9d, [r14 + 4]
lea r8, [rsp + 0x54]
mov edx, 0x8004667e
mov rcx, rbx
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x54], 1
mov qword [rsp + 0x20], r14
call qword [sym.imp.WS2_32.dll_WSAIoctl]
mov rdi, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xc0]
mov rax, rbx
mov rbx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140084590
add rsp, 0xd0
pop r15
pop r14
pop r13
ret
Function at 0x14002ebb0
Capabilities:
Send data
Send data on socket

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rdx
mov r8, rdx
mov rdi, rcx
lea rdx, str.send:__s_n
mov ecx, 2
call fcn.140014e30
or r8, 0xffffffffffffffff
cmp dword [rdi + 0x1000c], 0
je 0x14002ec00
inc r8
cmp byte [rbx + r8], 0
jne 0x14002ebe1
mov rcx, qword [rdi + 0x10010]
mov rdx, rbx
push rsi
call 0x14025b087
jmp 0x14002ec19
inc r8
cmp byte [rbx + r8], 0
jne 0x14002ec00
mov rcx, qword [rdi]
xor r9d, r9d
mov rdx, rbx
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jg 0x14002ec5c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x14002ec5c
lea r8, str.Stratum___socket_send_failed__d__disconnect_n
mov r9d, eax
mov edx, 3
xor ecx, ecx
call fcn.140015020
mov rcx, qword [rdi]
call qword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
mov qword [rdi], rax
mov dword [rdi + 8], eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov al, 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret