joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180149ac0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r14, r9
mov rbx, r8
mov r15, rdx
mov r12, rcx
xor ecx, ecx
mov dword [rsp + 0x38], ecx
mov dword [rbp - 0x7d], 1
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x7d]
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edi, eax
xor sil, sil
test eax, eax
jne 0x180149c62
mov ecx, dword [rsp + 0x38]
test ecx, ecx
je 0x180149cd8
call fcn.1800da980
mov rdi, rax
test rax, rax
je 0x180149cdc
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x7d]
xor r8d, r8d
mov rdx, r15
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov r12d, eax
test eax, eax
jne 0x180149be2
mov r8d, dword [rsp + 0x38]
mov eax, dword [rbp - 0x7d]
cmp eax, 4
jne 0x180149ba5
cmp r8d, eax
jne 0x180149bc7
mov edx, dword [rdi]
mov rcx, rbx
call fcn.1800d2d40
mov sil, 1
mov rcx, rdi
call fcn.18007b164
jmp 0x180149cd8
dec eax
cmp eax, 1
ja 0x180149bc7
mov rdx, rdi
mov rcx, rbx
call fcn.1800d2e50
mov sil, 1
mov rcx, rdi
call fcn.18007b164
jmp 0x180149cd8
mov rdx, rdi
mov rcx, rbx
call fcn.1800d3360
mov sil, 1
mov rcx, rdi
call fcn.18007b164
jmp 0x180149cd8
xorps xmm0, xmm0
movups xmmword [rbp - 0x79], xmm0
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm0
lea rcx, [rbp - 0x79]
call fcn.1800d27d0
nop
mov edx, r12d
lea rcx, [rbp - 0x79]
call fcn.1800d3dd0
mov rbx, qword [r14]
lea rcx, [rbp - 0x79]
call fcn.1800d6d80
mov r8, rax
lea rdx, str.RegistryQueryError2
mov rcx, r14
call qword [rbx + 0x58]
mov rax, qword [r14]
mov r8, r15
lea rdx, str.ValueName
mov rcx, r14
call qword [rax + 0x58]
nop
lea rcx, [rbp - 0x79]
call fcn.1800d28c0
mov rcx, rdi
call fcn.18007b164
jmp 0x180149cd8
xorps xmm0, xmm0
movups xmmword [rbp - 0x79], xmm0
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm0
lea rcx, [rbp - 0x79]
call fcn.1800d27d0
nop
mov edx, edi
lea rcx, [rbp - 0x79]
call fcn.1800d3dd0
mov rbx, qword [r14]
lea rcx, [rbp - 0x79]
call fcn.1800d6d80
mov r8, rax
lea rdx, str.RegistryQueryError
mov rcx, r14
call qword [rbx + 0x58]
mov r9, qword [r14]
mov r8, r15
lea rdx, str.ValueName
mov rcx, r14
call qword [r9 + 0x58]
nop
lea rcx, [rbp - 0x79]
call fcn.1800d28c0
movzx eax, sil
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.18007b140
add rsp, 0xe0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
Function at 0x1801527a0
Capabilities:
Set socket configuration

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1d8
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
mov r15d, r9d
mov ebp, r8d
mov r13, rdx
mov rdi, rcx
mov rax, qword [rsp + 0x248]
mov qword [rsp + 0x38], rax
mov r14, qword [rsp + 0x250]
xor ebx, ebx
mov dword [rax], ebx
call fcn.1801563c0
mov r8, r14
mov rdx, r13
mov rcx, rdi
call fcn.1801550e0
test al, al
je 0x180152981
mov rcx, qword [rdi + 0x298]
cmp rcx, 0xffffffffffffffff
je 0x180152981
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x4c], ebx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x48]
mov edx, 0xffff
lea r8d, [rbx - 5]
call qword [sym.imp.WS2_32.dll_setsockopt]
mov eax, dword [0x180388cbc]
test eax, eax
je 0x180152867
cmp eax, ebp
jl 0x180152867
cmp eax, r15d
jg 0x180152867
inc eax
mov esi, ebp
cmp eax, r15d
cmovle esi, eax
jmp 0x180152873
mov edx, r15d
mov ecx, ebp
call fcn.1800df810
mov esi, eax
xor edx, edx
mov r8d, 0x170
lea rcx, [rsp + 0x50]
call fcn.180211600
lea rcx, [rsp + 0x50]
call fcn.1800deb00
nop
mov ebx, esi
lea rcx, [r13 + 0xf40]
call fcn.1800d6d80
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0x50]
lea r9, [rsp + 0x30]
mov r8, rax
movzx edx, bx
mov qword [rsp + 0x20], rcx
mov rcx, rdi
cmp byte [r13 + 0xfd8], 0
je 0x1801528cc
call fcn.1801536f0
jmp 0x1801528d1
call fcn.1801535c0
test al, al
jne 0x18015291c
lea eax, [rbx + 1]
mov ebx, ebp
cmp eax, r15d
cmovle ebx, eax
cmp ebx, esi
jne 0x180152892
mov rax, qword [r14]
lea rdx, str.Failed_to_find_usable_port_in_range
mov rcx, r14
call qword [rax + 0x28]
mov r8d, ebp
lea rdx, str.startingPort
mov rcx, r14
call fcn.180106220
mov r8d, r15d
lea rdx, str.endingPort
mov rcx, r14
call fcn.180106220
xor bl, bl
jmp 0x180152972
mov r8d, ebx
lea rdx, str.port
mov rcx, r14
call fcn.180106220
mov rax, qword [rsp + 0x38]
mov dword [rax], ebx
mov edx, dword [rsp + 0x240]
mov rcx, qword [rdi + 0x298]
call qword [sym.imp.WS2_32.dll_listen]
test eax, eax
jns 0x180152969
mov rax, qword [r14]
lea rdx, str.Failed_to_listen_on_socket.
mov rcx, r14
call qword [rax + 0x28]
mov rcx, rdi
call fcn.1801563c0
xor bl, bl
jmp 0x180152972
mov byte [rdi + 0x291], 1
mov bl, 1
lea rcx, [rsp + 0x50]
call fcn.1800deb30
movzx eax, bl
jmp 0x180152983
xor al, al
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.18007b140
add rsp, 0x1d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp dword [rcx + 0xf80], 1
je 0x180177dfc
xor al, al
ret
add rcx, 0xbe0
jmp 0x1801527a0
Function at 0x1801531d0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x48
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rcx, qword [rcx + 0x298]
cmp rcx, 0xffffffffffffffff
jne 0x180153204
xor al, al
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.18007b140
add rsp, 0x48
ret
test dl, dl
mov dword [rsp + 0x30], 1
mov edx, 0xffff
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x30]
mov r8d, 8
jne 0x180153235
lea r9, [rsp + 0x34]
call qword [sym.imp.WS2_32.dll_setsockopt]
mov al, 1
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.18007b140
add rsp, 0x48
ret
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 0x180177e49
mov rax, qword [rcx + 0xf70]
test rax, rax
je 0x180177e7b
cmp dword [rax + 0x3c], 0xc64d29ea
je 0x180177e90
xor ecx, ecx
call fcn.1800c57e0
cmp dword [rbx + 0xf80], 2
mov r8, rdi
movzx edx, sil
jne 0x180177eb3
lea rcx, [rbx + 0x220]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x1801d3a20
cmp dword [rcx + 0xf80], 2
jne 0x180177e50
add rcx, 0x220
call fcn.1801d4880
test rax, rax
je 0x180177e50
mov r8, rdi
movzx edx, sil
mov rcx, rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x1801e3e20
lea rcx, [rbx + 0xbe0]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x1801531d0
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rsi, r8
movzx ebp, dl
mov rbx, rcx
xor dil, dil
call fcn.1800ba710
mov rcx, qword [rbx + 0x78]
test rcx, rcx
je 0x1801c42fc
mov r8, rsi
movzx edx, bpl
call 0x1801531d0
jmp 0x1801c4311
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x1801c4314
mov r8, rsi
movzx edx, bpl
call fcn.180177e10
movzx edi, al
mov rcx, rbx
call fcn.1800ba690
mov rbx, qword [rsp + 0x30]
movzx eax, dil
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
add rcx, 0x18
jmp 0x1801c42c0
push rbx
push rsi
push rdi
sub rsp, 0x50
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rsi, r8
movzx edi, dl
mov rbx, rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rax
mov rdx, rcx
lea rcx, [rsp + 0x28]
call fcn.1801035a0
nop
lea rcx, [rbx + 0x670]
mov r8, rsi
movzx edx, dil
call 0x1801c42c0
movzx ebx, al
lea rcx, [rsp + 0x28]
call fcn.180103680
movzx eax, bl
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.18007b140
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
Function at 0x1801533f0
Capabilities:
Set socket configuration

Disassembly:
mov r11, rsp
push rsi
push rdi
push r14
sub rsp, 0x80
mov qword [r11 - 0x78], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rbp
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rsp + 0x78], rax
movzx r14d, r8b
mov rdi, rdx
mov rbp, rcx
mov rbx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x30], xmm0
mov qword [r11 - 0x58], rax
lea r8, str.acceptNextConnection
mov rdx, rsi
lea rcx, [r11 - 0x68]
call fcn.180105b50
nop
mov rcx, rbx
call fcn.180175b40
mov rcx, qword [rbp + 0x298]
cmp rcx, 0xffffffffffffffff
jne 0x180153485
mov rax, qword [rsi]
lea rdx, str.No_socket_for_accepting_a_connection.
mov rcx, rsi
call qword [rax + 0x28]
xor bl, bl
jmp 0x180153568
lea r8, [rsp + 0x28]
cmp byte [rbp + 0x381], 0
je 0x1801534a2
mov dword [rsp + 0x28], 0x1c
lea rdx, [rsp + 0x58]
jmp 0x1801534af
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x48]
call qword [sym.imp.WS2_32.dll_accept]
cmp rax, 0xffffffffffffffff
jne 0x1801534e4
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8, rsi
xor edx, edx
mov ecx, eax
call fcn.180157eb0
mov rax, qword [rsi]
lea rdx, str.accept_socket_call_returned_INVALID_SOCKET
mov rcx, rsi
call qword [rax + 0x28]
xor bl, bl
jmp 0x180153568
movzx ebx, byte [rbp + 0x381]
mov qword [rdi + 0x298], rax
mov rdx, rsi
mov rcx, rdi
call fcn.180153870
mov rdx, rsi
mov rcx, rdi
call fcn.180153920
mov rcx, qword [rdi + 0x298]
cmp rcx, 0xffffffffffffffff
je 0x18015352d
mov dword [rsp + 0x2c], 1
lea r8, [rsp + 0x2c]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, reloc.WS2_32.dll_socket
mov ecx, 2
test bl, bl
cmove eax, ecx
mov dword [rdi + 0x2a0], eax
cmp qword [rdi + 0x298], 0xffffffffffffffff
jne 0x180153550
xor al, al
jmp 0x180153559
mov byte [rdi + 0x380], r14b
mov al, 1
mov byte [rdi + 0x290], al
mov byte [rdi + 0x292], 0
mov bl, 1
lea rcx, [rsp + 0x30]
call fcn.180105c80
movzx eax, bl
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.18007b140
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret

Function at 0x180153870
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 + 0x298]
cmp rcx, 0xffffffffffffffff
je 0x180153914
mov r8d, dword [rsi + 0xdc]
mov qword [rsp + 0x40], rbx
lea eax, [r8 - 0x1000]
cmp eax, 0x7ff000
ja 0x18015390f
and r8d, 0xfffff000
mov dword [rsi + 0xdc], r8d
cmp byte [rdx + 0x161], 0
je 0x1801538ef
mov rax, qword [rdx]
mov rcx, rdi
lea rdx, str.Setting_SO_RCVBUF_size
call qword [rax + 0x30]
mov r8d, dword [rsi + 0xdc]
lea rdx, str.recvBufSize
mov rcx, rdi
call fcn.180106220
mov rcx, qword [rsi + 0x298]
lea r9, [rsi + 0xdc]
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 0x180153920
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 + 0x298]
cmp rcx, 0xffffffffffffffff
je 0x1801539c4
mov r8d, dword [rsi + 0xd8]
mov qword [rsp + 0x40], rbx
lea eax, [r8 - 0x1000]
cmp eax, 0x7ff000
ja 0x1801539bf
and r8d, 0xfffff000
mov dword [rsi + 0xd8], r8d
cmp byte [rdx + 0x161], 0
je 0x18015399f
mov rax, qword [rdx]
mov rcx, rdi
lea rdx, str.Setting_SO_SNDBUF_size
call qword [rax + 0x30]
mov r8d, dword [rsi + 0xd8]
lea rdx, str.sendBufSize
mov rcx, rdi
call fcn.180106220
mov rcx, qword [rsi + 0x298]
lea r9, [rsi + 0xd8]
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 0x180157c80
Capabilities:
Get socket status

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
mov eax, 0x1100
call fcn.18007c000
sub rsp, rax
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rsp + 0x10f0], rax
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.180175b40
mov rdx, rbx
mov rcx, rdi
call fcn.180175cc0
test al, al
je 0x180157cea
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 0x180157dd6
cmp qword [rsi + 0x298], 0xffffffffffffffff
jne 0x180157d0f
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 0x180157dd6
xor ebp, ebp
mov qword [rsp + 0x38], rbp
lea rcx, [rsp + 0x40]
call fcn.180103030
lea r14, vtable.ckFdSet.0
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x50], 0x3004bc8d
mov dword [rsp + 0x10e0], 0x3004bc8d
lea rcx, [rsp + 0x40]
call fcn.180152700
movsxd r9, dword [rsi + 0x298]
test r9d, r9d
js 0x180157db3
mov edx, ebp
mov ecx, dword [rsp + 0x58]
test ecx, ecx
je 0x180157d6f
nop
mov eax, edx
cmp qword [rsp + rax*8 + 0x60], r9
je 0x180157d6f
inc edx
cmp edx, ecx
jb 0x180157d60
cmp edx, ecx
jne 0x180157d86
cmp ecx, 0x200
jae 0x180157d86
mov eax, edx
mov qword [rsp + rax*8 + 0x60], r9
inc dword [rsp + 0x58]
lea rax, [rsp + 0x38]
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 0x180157db7
jne 0x180157daf
mov byte [rdi + 0x28], 1
jmp 0x180157db7
mov bl, 1
jmp 0x180157db9
mov byte [rdi + 0x2a], 1
xor bl, bl
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x10e0], ebp
lea rcx, [rsp + 0x40]
call fcn.180103110
movzx eax, bl
mov rcx, qword [rsp + 0x10f0]
xor rcx, rsp
call fcn.18007b140
add rsp, 0x1100
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x180157e00
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x48
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rcx, qword [rcx + 0x298]
cmp rcx, 0xffffffffffffffff
je 0x180157e57
test dl, dl
mov dword [rsp + 0x30], 1
mov edx, 0xffff
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x30]
mov r8d, 4
jne 0x180157e51
lea r9, [rsp + 0x34]
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.18007b140
add rsp, 0x48
ret
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp dword [rcx + 0xcc], 0xc64d29ea
movzx edi, dl
mov rbx, rcx
jne 0x1801798c1
mov rax, qword [rcx + 0xf70]
test rax, rax
je 0x1801798eb
cmp dword [rax + 0x3c], 0xc64d29ea
je 0x180179900
xor ecx, ecx
call fcn.1800c57e0
cmp dword [rbx + 0xf80], 2
jne 0x180179923
lea rcx, [rbx + 0x220]
movzx edx, dil
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x1801d49f0
cmp dword [rcx + 0xf80], 2
jne 0x1801798c8
add rcx, 0x220
call fcn.1801d4880
test rax, rax
je 0x1801798c8
mov rcx, rax
call fcn.1801da820
mov rcx, rax
movzx edx, dil
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x180157e00
lea rcx, [rbx + 0xbe0]
movzx edx, dil
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x180157e00
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
lea rbx, [rcx + 0x18]
movzx edi, dl
mov rcx, rbx
call fcn.1801c4340
test rax, rax
je 0x1801d4a22
movzx edx, dil
mov rcx, rax
call 0x180157e00
mov rcx, rbx
call fcn.1801c4830
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x180157e70
Capabilities:
Set socket configuration

Disassembly:
cmp edx, dword [rcx + 0xdc]
je 0x180157e8a
mov dword [rcx + 0xdc], edx
test edx, edx
je 0x180157e8a
mov rdx, r8
jmp fcn.180153870
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 0x180179978
mov rax, qword [rcx + 0xf70]
test rax, rax
je 0x1801799a8
cmp dword [rax + 0x3c], 0xc64d29ea
je 0x1801799bd
xor ecx, ecx
call fcn.1800c57e0
cmp dword [rbx + 0xf80], 2
jne 0x1801799cf
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 0x1801d4a30
cmp dword [rcx + 0xf80], 2
jne 0x18017997f
add rcx, 0x220
call fcn.1801d4880
test rax, rax
je 0x18017997f
mov rcx, rax
call fcn.1801da820
mov rcx, rax
jmp 0x1801799d6
lea rcx, [rbx + 0xbe0]
mov r8, rdi
mov edx, esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x180157e70
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.1801c4340
test rax, rax
jne 0x1801d4a75
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 0x180157e70
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.1801c4830
Function at 0x180157e90
Capabilities:
Set socket configuration

Disassembly:
cmp edx, dword [rcx + 0xd8]
je 0x180157eaa
mov dword [rcx + 0xd8], edx
test edx, edx
je 0x180157eaa
mov rdx, r8
jmp fcn.180153920
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 0x180179a28
mov rax, qword [rcx + 0xf70]
test rax, rax
je 0x180179a58
cmp dword [rax + 0x3c], 0xc64d29ea
je 0x180179a6d
xor ecx, ecx
call fcn.1800c57e0
cmp dword [rbx + 0xf80], 2
jne 0x180179a7f
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 0x1801d4aa0
cmp dword [rcx + 0xf80], 2
jne 0x180179a2f
add rcx, 0x220
call fcn.1801d4880
test rax, rax
je 0x180179a2f
mov rcx, rax
call fcn.1801da820
mov rcx, rax
jmp 0x180179a86
lea rcx, [rbx + 0xbe0]
mov r8, rdi
mov edx, esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x180157e90
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.1801c4340
test rax, rax
jne 0x1801d4ae5
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 0x180157e90
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.1801c4830

Function at 0x180158600
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rcx
mov rcx, qword [rcx + 0x298]
cmp rcx, 0xffffffffffffffff
je 0x18015869b
movzx eax, byte [r8 + 0x161]
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x34], 0
test dl, dl
je 0x180158663
test al, al
je 0x18015865c
mov rax, qword [r8]
lea rdx, str.Turning_on_TCP_NODELAY.
mov rcx, r8
call qword [rax + 0x30]
mov rcx, qword [rbx + 0x298]
lea r9, [rsp + 0x30]
jmp 0x180158683
test al, al
je 0x18015867e
mov rax, qword [r8]
lea rdx, str.Turning_off_TCP_NODELAY.
mov rcx, r8
call qword [rax + 0x30]
mov rcx, qword [rbx + 0x298]
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.18007b140
add rsp, 0x40
pop rbx
ret
Function at 0x1801586b0
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 + 0xdc], edx
je 0x180158752
cmp edx, 0x1000
jb 0x180158752
mov eax, 0x800000
cmp edx, eax
cmovbe eax, edx
and eax, 0xfffff000
mov dword [rcx + 0xdc], eax
mov rcx, qword [rcx + 0x298]
cmp rcx, 0xffffffffffffffff
je 0x180158752
cmp byte [r8 + 0x161], 0
je 0x180158732
mov rax, qword [r8]
lea rdx, str.Setting_SO_RCVBUF_size
mov rcx, r8
call qword [rax + 0x30]
mov r8d, dword [rsi + 0xdc]
lea rdx, str.recvBufSize
mov rcx, rdi
call fcn.180106220
mov rcx, qword [rsi + 0x298]
lea r9, [rsi + 0xdc]
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 0x180158770
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x30
cmp dword [rcx + 0xd0], 0x4901fb2a
mov rbx, r8
mov rsi, rcx
je 0x1801587ad
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.1800c57e0
mov qword [rsp + 0x40], rdi
cmp dword [rcx + 0xd8], edx
je 0x18015883f
cmp edx, 0x1000
jb 0x18015883f
mov eax, 0x800000
cmp edx, eax
cmovbe eax, edx
and eax, 0xfffff000
mov dword [rcx + 0xd8], eax
mov rcx, qword [rcx + 0x298]
cmp rcx, 0xffffffffffffffff
je 0x18015883f
cmp byte [r8 + 0x161], 0
je 0x18015881f
mov rax, qword [r8]
lea rdx, str.Setting_SO_SNDBUF_size
mov rcx, rbx
call qword [rax + 0x30]
mov r8d, dword [rsi + 0xd8]
lea rdx, str.sendBufSize
mov rcx, rbx
call fcn.180106220
mov rcx, qword [rsi + 0x298]
lea r9, [rsi + 0xd8]
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 0x180158850
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rdi
sub rsp, 0x50
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rdi, rdx
mov rbx, rcx
mov rcx, qword [rcx + 0x298]
cmp rcx, 0xffffffffffffffff
jne 0x1801588a7
mov byte [rbx + 0x290], 0
xor al, al
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.18007b140
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
cmp byte [rbx + 0x290], 0
je 0x18015888d
cmp byte [rbx + 0xd6], 0
jne 0x18015888d
cmp byte [rbx + 0xd5], 0
jne 0x180158941
cmp byte [rbx + 0xd4], 0
jne 0x180158941
mov r9d, 2
lea r8d, [r9 - 1]
lea rdx, [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jne 0x1801588f1
mov rdx, rdi
mov rcx, rbx
call fcn.180157ae0
jmp 0x18015888d
cmp eax, 0xffffffff
jg 0x180158941
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x180158941
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rax
lea r8, str.isConnected_recv_peek
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.180105b50
nop
mov rdx, rdi
xor ecx, ecx
call fcn.180158450
nop
lea rcx, [rsp + 0x28]
call fcn.180105c80
jmp 0x18015888d
mov al, 1
jmp 0x18015888f