joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400d49f0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0xa0
mov rdi, rdx
mov esi, dword [rcx + 0x18]
test esi, esi
je 0x1400d4b37
dec esi
mov ecx, esi
call fcn.140173a38
cmp rax, 1
ja 0x1400d4b2c
je 0x1400d4b2a
test rdi, rdi
je 0x1400d4a57
mov rax, qword [rdi]
mov qword [rdi], 0
test rax, rax
je 0x1400d4a57
movups xmm0, xmmword [rdi + 8]
movups xmm1, xmmword [rdi + 0x18]
movups xmm2, xmmword [rdi + 0x28]
movups xmmword [rsp + 0x50], xmm2
movups xmmword [rsp + 0x40], xmm1
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x28], rax
jmp 0x1400d4a61
lea rcx, [rsp + 0x28]
call sym.parking_lot_core::parking_lot::ThreadData::new::h0a84206496b558c8
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
movups xmm0, xmmword [rsp + 0x38]
movups xmm1, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x98], esi
mov rax, qword [0x1401b5f98]
movzx eax, byte [rax]
mov ecx, 0x40
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400d4b51
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movaps xmm3, xmmword [rsp + 0x90]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov ecx, esi
mov rbx, rax
call fcn.140173a38
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call sub.KERNEL32.dll_TlsSetValue
test rdi, rdi
je 0x1400d4b25
mov rcx, rdi
call sym.__parking_lot_core::parking_lot::ThreadData_as_core::ops::drop::Drop_::drop::h0e1b76b4d2b1a7ef
mov edx, 0x40
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov rax, rsi
jmp 0x1400d4b2c
xor eax, eax
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
ret
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov esi, eax
mov ecx, esi
call fcn.140173a38
cmp rax, 1
jbe 0x1400d4a1b
jmp 0x1400d4b2c
mov ecx, 8
mov edx, 0x40
call sym.alloc::alloc::handle_alloc_error::h5b2832badfdb0979
ud2
Function at 0x1400d5150
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov esi, dword [0x140177548]
test esi, esi
je 0x1400d5178
dec esi
mov ecx, esi
call fcn.140173a38
cmp rax, 1
jbe 0x1400d5193
add rax, 4
jmp 0x1400d51f6
lea rcx, sym.std::sys::thread_local::os::destroy_value::h9fd831992d80550f
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov esi, eax
mov ecx, esi
call fcn.140173a38
cmp rax, 1
ja 0x1400d5172
je 0x1400d51f4
mov rax, qword [0x1401b5f98]
movzx eax, byte [rax]
mov ecx, 8
mov edx, 4
call sym.__rust_alloc
test rax, rax
je 0x1400d5200
mov rbx, rax
mov dword [rax], esi
add rax, 4
mov r14, rax
mov byte [rbx + 4], 0
mov ecx, esi
call fcn.140173a38
mov rdi, rax
mov ecx, esi
mov rdx, rbx
call sub.KERNEL32.dll_TlsSetValue
test rdi, rdi
je 0x1400d51ef
mov edx, 8
mov r8d, 4
mov rcx, rdi
call sym.__rust_dealloc
mov rax, r14
jmp 0x1400d51f6
xor eax, eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
mov ecx, 4
mov edx, 8
call sym.alloc::alloc::handle_alloc_error::h5b2832badfdb0979
int3

Function at 0x1400d5990
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov edi, dword [rcx + 0x38]
mov edx, 1
mov ecx, edi
call sub.KERNEL32.dll_TlsSetValue
lock dec qword [0x1401ea0d8]
mov edx, 0x40
mov r8d, 8
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, edi
xor edx, edx
call sub.KERNEL32.dll_TlsSetValue
call sym.std::sys::thread_local::guard::windows::enable::h3f4e6a37e99397f9
nop
add rsp, 0x28
pop rdi
pop rsi
ret
Function at 0x1400d5e40
Capabilities:
Link many functions at runtime

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rcx, str.api_ms_win_core_synch_l1_2_0.dll
call sub.KERNEL32.dll_GetModuleHandleA
test rax, rax
je 0x1400d5e92
mov rsi, rax
lea rdx, str.WaitOnAddress
mov rcx, rax
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x1400d5e92
mov rdi, rax
lea rdx, str.WakeByAddressSingle
mov rcx, rsi
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x1400d5e92
mov rbx, rax
xor esi, esi
jmp 0x1400d5f16
lea rcx, str.ntdll.dll
call sub.KERNEL32.dll_GetModuleHandleA
test rax, rax
je 0x1400d5f88
mov rdi, rax
lea rdx, str.NtCreateKeyedEvent
mov rcx, rax
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x1400d5f88
mov rbx, rax
lea rdx, str.NtReleaseKeyedEvent
mov rcx, rdi
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x1400d5f88
mov rsi, rax
lea rdx, str.NtWaitForKeyedEvent
mov rcx, rdi
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x1400d5f88
mov rdi, rax
lea rcx, [rsp + 0x28]
mov edx, 0xc0000000
xor r8d, r8d
xor r9d, r9d
call rbx
test eax, eax
jne 0x1400d5f88
mov rbx, qword [rsp + 0x28]
mov rax, qword [0x1401b5f98]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400d5fbf
mov r14, rax
mov qword [rax], rsi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rbx
xor eax, eax
lock cmpxchg qword [0x1401ea0d0], r14
je 0x1400d5f7b
mov rsi, rax
cmp qword [r14], 0
je 0x1400d5f65
mov rcx, qword [r14 + 0x10]
call sub.KERNEL32.dll_CloseHandle
mov edx, 0x18
mov r8d, 8
mov rcx, r14
call sym.__rust_dealloc
mov r14, rsi
mov rax, r14
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
lea rax, str.parking_lot_requires_either_NT_Keyed_Events__WinXP__or_WaitOnAddress_WakeByAddress__Win8_
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x38], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
lea rdx, str._home_alex_.cargo_registry_src_index.crates.io_6f17d22bba15001f_parking_lot_core_0.9.10_src_thread_parker_windows_mod.rs
lea rcx, [rsp + 0x28]
call sym.core::panicking::panic_fmt::h1e8d60614cf06a53
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::h5b2832badfdb0979
ud2

Function at 0x1400d7060
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d7087
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1400d70a0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x28
mov dword [rsp + 0x20], 0x14
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d70bd
xor eax, eax
add rsp, 0x28
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x28
ret
Function at 0x1400d70d0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d70f7
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1400d7110
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x30], r9
mov dword [rsp + 0x20], 8
lea r9, [rsp + 0x30]
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d7137
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1400d7220
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x1002
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d7254
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1400d7310
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x1001
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d7344
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1400d7400
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
movzx eax, dl
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 6
mov r8d, 1
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d7437
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1400d77c0
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rcx, qword [rcx]
xor esi, esi
test dl, 1
cmove r8d, esi
mov dword [rsp + 0x2c], r8d
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x2c]
mov edx, 0xffff
mov r8d, 0x1006
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x1400d7807
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x30
pop rsi
ret

Function at 0x1400d78d0
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rcx, qword [rcx]
xor esi, esi
test dl, 1
cmove r8d, esi
mov dword [rsp + 0x2c], r8d
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x2c]
mov edx, 0xffff
mov r8d, 0x1005
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x1400d7917
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x30
pop rsi
ret
Function at 0x1400d79e0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
cmp r8d, 0x3b9aca00
jne 0x1400d7a21
mov rcx, qword [rcx]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x30]
mov edx, 0xffff
mov r8d, 0x1006
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d7a67
xor eax, eax
add rsp, 0x38
ret
imul eax, edx, 0x3e8
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add edx, eax
mov rcx, qword [rcx]
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x1006
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d7a67
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1400d7b50
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
cmp r8d, 0x3b9aca00
jne 0x1400d7b91
mov rcx, qword [rcx]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x30]
mov edx, 0xffff
mov r8d, 0x1005
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d7bd7
xor eax, eax
add rsp, 0x38
ret
imul eax, edx, 0x3e8
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add edx, eax
mov rcx, qword [rcx]
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x1005
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d7bd7
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1400d7cc0
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rcx, qword [rcx]
mov dword [rsp + 0x2c], edx
mov dword [rsp + 0x20], 4
xor esi, esi
lea r9, [rsp + 0x2c]
xor edx, edx
mov r8d, 4
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x1400d7cfc
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x30
pop rsi
ret

Function at 0x1400d7dc0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
movzx eax, dl
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0x29
mov r8d, 0x1b
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d7df7
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1400d7f70
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx]
movzx eax, dl
mov dword [rsp + 0x24], eax
lea r8, [rsp + 0x24]
mov edx, 0x8004667e
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x1400d7f99
xor eax, eax
add rsp, 0x28
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x28
ret
Function at 0x1400d7fb0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
cmp r8d, 0x3b9aca00
jne 0x1400d7ff1
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, pe_nt_image_headers64
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d8026
xor eax, eax
add rsp, 0x38
ret
mov word [rsp + 0x30], 1
mov word [rsp + 0x32], dx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x30]
mov edx, 0xffff
mov r8d, pe_nt_image_headers64
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d8026
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1400d8120
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x28
movzx eax, dl
mov dword [rsp + 0x24], eax
lea r8, [rsp + 0x24]
mov edx, 0x8004667e
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x1400d8146
xor eax, eax
add rsp, 0x28
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x28
ret

Function at 0x1400d8200
Capabilities:
Set socket configuration

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rsi, rcx
mov rax, qword [rcx]
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x1400d8279
lea rcx, [rax + 1]
mov qword [rsi], rcx
test byte [rsi + 8], 1
je 0x1400d8285
mov rcx, qword [rsi + 0x10]
mov qword [rsi], rax
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x20], 4
xor edi, edi
lea r9, [rsp + 0x34]
xor edx, edx
mov r8d, 4
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x1400d8263
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
mov edi, eax
shl rdi, 0x20
or rdi, 2
xor eax, eax
test rdi, rdi
setne al
cmovne rsi, rdi
mov rdx, rsi
add rsp, 0x38
pop rdi
pop rsi
ret
lea rcx, [0x1401921a8]
call sym.core::cell::panic_already_mutably_borrowed::hbd28f3210d2d89a8
lea rcx, [0x140192190]
call sym.core::option::unwrap_failed::h9508d322d744588d
ud2

Function at 0x1400d82a0
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rsi, rcx
mov rax, qword [rcx]
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x1400d8320
lea rcx, [rax + 1]
mov qword [rsi], rcx
test byte [rsi + 8], 1
je 0x1400d832c
mov rcx, qword [rsi + 0x10]
mov qword [rsi], rax
movzx eax, dl
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x2c]
mov edx, 0x29
mov r8d, 0x1b
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d82fb
xor eax, eax
jmp 0x1400d8308
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
xor ecx, ecx
test rax, rax
setne cl
cmovne rsi, rax
mov rax, rcx
mov rdx, rsi
add rsp, 0x30
pop rsi
ret
lea rcx, [0x1401921a8]
call sym.core::cell::panic_already_mutably_borrowed::hbd28f3210d2d89a8
lea rcx, [0x140192190]
call sym.core::option::unwrap_failed::h9508d322d744588d
ud2
Function at 0x1400d8350
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rsi, rcx
mov rax, qword [rcx]
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x1400d83d0
lea rcx, [rax + 1]
mov qword [rsi], rcx
test byte [rsi + 8], 1
je 0x1400d83dc
mov rcx, qword [rsi + 0x10]
mov qword [rsi], rax
movzx eax, dl
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x2c]
mov edx, 0xffff
mov r8d, 4
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d83ab
xor eax, eax
jmp 0x1400d83b8
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
xor ecx, ecx
test rax, rax
setne cl
cmovne rsi, rax
mov rax, rcx
mov rdx, rsi
add rsp, 0x30
pop rsi
ret
lea rcx, [0x1401921a8]
call sym.core::cell::panic_already_mutably_borrowed::hbd28f3210d2d89a8
lea rcx, [0x140192190]
call sym.core::option::unwrap_failed::h9508d322d744588d
ud2

Function at 0x1400d9080
Capabilities:
Set socket configuration

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rsi, rcx
mov rax, qword [rcx]
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x1400d90f9
lea rcx, [rax + 1]
mov qword [rsi], rcx
test byte [rsi + 8], 1
je 0x1400d9105
mov rcx, qword [rsi + 0x10]
mov qword [rsi], rax
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x20], 4
xor edi, edi
lea r9, [rsp + 0x34]
xor edx, edx
mov r8d, 4
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x1400d90e3
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
mov edi, eax
shl rdi, 0x20
or rdi, 2
xor eax, eax
test rdi, rdi
setne al
cmovne rsi, rdi
mov rdx, rsi
add rsp, 0x38
pop rdi
pop rsi
ret
lea rcx, str._home_alex_.cargo_registry_src_index.crates.io_6f17d22bba15001f_net2_0.2.39_src_sys_windows_impls.rs
call sym.core::cell::panic_already_mutably_borrowed::hbd28f3210d2d89a8
lea rcx, str._home_alex_.cargo_registry_src_index.crates.io_6f17d22bba15001f_net2_0.2.39_src_sys_windows_impls.rs
call sym.core::option::unwrap_failed::h9508d322d744588d
ud2

Function at 0x1400d9120
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rsi, rcx
mov rax, qword [rcx]
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x1400d91a0
lea rcx, [rax + 1]
mov qword [rsi], rcx
test byte [rsi + 8], 1
je 0x1400d91ac
mov rcx, qword [rsi + 0x10]
mov qword [rsi], rax
movzx eax, dl
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x2c]
mov edx, 0x29
mov r8d, 0x1b
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d917b
xor eax, eax
jmp 0x1400d9188
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
xor ecx, ecx
test rax, rax
setne cl
cmovne rsi, rax
mov rax, rcx
mov rdx, rsi
add rsp, 0x30
pop rsi
ret
lea rcx, str._home_alex_.cargo_registry_src_index.crates.io_6f17d22bba15001f_net2_0.2.39_src_sys_windows_impls.rs
call sym.core::cell::panic_already_mutably_borrowed::hbd28f3210d2d89a8
lea rcx, str._home_alex_.cargo_registry_src_index.crates.io_6f17d22bba15001f_net2_0.2.39_src_sys_windows_impls.rs
call sym.core::option::unwrap_failed::h9508d322d744588d
ud2
Function at 0x1400d91d0
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rsi, rcx
mov rax, qword [rcx]
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x1400d9250
lea rcx, [rax + 1]
mov qword [rsi], rcx
test byte [rsi + 8], 1
je 0x1400d925c
mov rcx, qword [rsi + 0x10]
mov qword [rsi], rax
movzx eax, dl
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x2c]
mov edx, 0xffff
mov r8d, 4
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d922b
xor eax, eax
jmp 0x1400d9238
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
xor ecx, ecx
test rax, rax
setne cl
cmovne rsi, rax
mov rax, rcx
mov rdx, rsi
add rsp, 0x30
pop rsi
ret
lea rcx, str._home_alex_.cargo_registry_src_index.crates.io_6f17d22bba15001f_net2_0.2.39_src_sys_windows_impls.rs
call sym.core::cell::panic_already_mutably_borrowed::hbd28f3210d2d89a8
lea rcx, str._home_alex_.cargo_registry_src_index.crates.io_6f17d22bba15001f_net2_0.2.39_src_sys_windows_impls.rs
call sym.core::option::unwrap_failed::h9508d322d744588d
ud2

Function at 0x1400d96e0
Capabilities:
Connect socket

Disassembly:
sub rsp, 0x48
test byte [rdx], 1
je 0x1400d970a
movups xmm0, xmmword [rdx + 4]
movzx eax, word [rdx + 0x1c]
rol ax, 8
mov r9d, dword [rdx + 0x18]
add rdx, 0x14
mov r8d, 0x1c
mov r10w, 0x17
jmp 0x1400d9724
movzx eax, word [rdx + 6]
rol ax, 8
add rdx, 2
xorps xmm0, xmm0
mov r8d, 0x10
mov r10w, 2
mov edx, dword [rdx]
mov word [rsp + 0x2c], r10w
mov word [rsp + 0x2e], ax
mov dword [rsp + 0x30], edx
movups xmmword [rsp + 0x34], xmm0
mov dword [rsp + 0x44], r9d
mov rcx, qword [rcx]
lea rdx, [rsp + 0x2c]
call sub.ws2_32.dll_connect
cmp eax, 0xffffffff
je 0x1400d9758
xor eax, eax
add rsp, 0x48
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x48
ret
Function at 0x1400d9770
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push rsi
sub rsp, 0xb0
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x2c], pe_nt_image_headers64
mov rcx, qword [rdx]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x2c]
call sub.ws2_32.dll_getsockname
cmp eax, 0xffffffff
je 0x1400d9839
mov eax, dword [rsp + 0x2c]
movzx ecx, word [rsp + 0x30]
cmp ecx, 2
je 0x1400d9848
cmp ecx, 0x17
jne 0x1400d9868
cmp eax, 0x1b
jbe 0x1400d9891
movzx eax, word [rsp + 0x38]
movzx ecx, word [rsp + 0x3a]
mov edx, dword [rsp + 0x3c]
mov r8, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x48]
movzx r10d, word [rsp + 0x32]
rol r10w, 8
mov r11d, dword [rsp + 0x34]
mov word [rsi], 1
mov word [rsi + 4], ax
mov word [rsi + 6], cx
mov dword [rsi + 8], edx
mov qword [rsi + 0xc], r8
mov dword [rsi + 0x14], r11d
mov dword [rsi + 0x18], r9d
mov word [rsi + 0x1c], r10w
jmp 0x1400d9885
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
jmp 0x1400d987c
cmp eax, 0xf
jbe 0x1400d98a9
movzx eax, word [rsp + 0x32]
rol ax, 8
mov ecx, dword [rsp + 0x34]
mov word [rsi], 0
mov dword [rsi + 2], ecx
mov word [rsi + 6], ax
jmp 0x1400d9885
lea rdx, [0x1401925c8]
mov r8d, 0x10
mov cl, 0x14
call sym.std::io::error::Error::new::h14bdb6099f78be4a
mov qword [rsi + 8], rax
mov word [rsi], 2
mov rax, rsi
add rsp, 0xb0
pop rsi
ret
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___
lea r8, [0x1401925b0]
mov edx, 0x43
call sym.core::panicking::panic::h9b29f36338d5d298
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in____home_alex_.cargo_registry_src_index.crates.io_6f17d22bba15001f_net2_0.2.39_src_socket.rs
lea r8, [0x140192550]
mov edx, 0x42
call sym.core::panicking::panic::h9b29f36338d5d298
int3

Function at 0x1400d9910
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x1002
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d9944
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1400d9a10
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x1001
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d9a44
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret