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

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rsi, rdx
mov rdi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x140045b05
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x140045a4f
cmp qword [rax + 8], 0
jne 0x140045aff
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x140045b23
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140045b3c
test rax, rax
jne 0x140045ab8
mov rax, qword [str.1__r_]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140045b5a
mov qword [rax], rdi
mov qword [rax + 8], 0
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x140045b45
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400a2018
mov rax, rdi
test rsi, rsi
je 0x140045ad1
mov rcx, qword [rsi]
movups xmm0, xmmword [rsi + 8]
mov qword [rsi], 0
cmp rcx, 1
je 0x140045af3
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
mov edx, 0x10
mov rsi, rax
call sub.bcryptprimitives.dll_ProcessPrng
mov rax, rsi
movaps xmm0, xmmword [rsp + 0x20]
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm0
add rax, 0x10
jmp 0x140045b3e
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x140045a44
jmp 0x140045a4f
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x140045a6b
xor eax, eax
add rsp, 0x38
pop rdi
pop rsi
ret
mov rcx, rdi
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
mov rax, rdi
jmp 0x140045aaa
mov ecx, 8
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::hc29ae932b255401d
int3
Function at 0x140045b70
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rsi, rdx
mov rdi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x140045c7c
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x140045b9f
cmp qword [rax + 8], 0
jne 0x140045c76
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x140045c9a
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140045cb3
test rax, rax
jne 0x140045c1c
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rdi
mov rax, qword [str.1__r_]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140045cd1
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rax], xmm0
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x140045cbc
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400a2018
mov rax, rdi
test rsi, rsi
je 0x140045c36
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x140045c38
mov rcx, qword [rsi + 8]
jmp 0x140045c38
xor ecx, ecx
mov r8, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], rdx
mov qword [rax + 8], 1
mov qword [rax + 0x10], rcx
test r8, r8
je 0x140045c76
test rdx, rdx
je 0x140045c76
lock dec qword [rdx]
jne 0x140045c76
lea rcx, [rsp + 0x28]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::h0632823e15101f41
mov rax, rsi
add rax, 0x10
jmp 0x140045cb5
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x140045b94
jmp 0x140045b9f
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x140045bbb
xor eax, eax
add rsp, 0x38
pop rdi
pop rsi
ret
mov rcx, rdi
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
mov rax, rdi
jmp 0x140045c0e
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hc29ae932b255401d
ud2

Function at 0x140045d00
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rdi, rcx
mov rsi, qword [rcx]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140045d17
dec ecx
jmp 0x140045d21
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
mov edx, 1
call fcn.1400a2018
mov edx, 0x10
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140045d49
dec ecx
jmp 0x140045d53
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
xor edx, edx
add rsp, 0x68
pop rdi
pop rsi
jmp fcn.1400a2018
Function at 0x140045df0
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rdi, rcx
mov rsi, qword [rcx]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140045e07
dec ecx
jmp 0x140045e11
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
mov edx, 1
call fcn.1400a2018
mov edx, 0x20
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140045e39
dec ecx
jmp 0x140045e43
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
xor edx, edx
add rsp, 0x68
pop rdi
pop rsi
jmp fcn.1400a2018

Function at 0x140045ee0
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rdi, rcx
mov rsi, qword [rcx]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140045f08
dec ecx
mov edx, 1
call fcn.1400a2018
cmp qword [rdi + 8], 0
jne 0x140045f23
jmp 0x140045f3b
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
mov edx, 1
call fcn.1400a2018
cmp qword [rdi + 8], 0
je 0x140045f3b
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140045f3b
lock dec qword [rax]
jne 0x140045f3b
lea rcx, [rdi + 0x10]
call sym.alloc::sync::Arc_T_A_::drop_slow::ha65b956ad65898e0
mov edx, 0x18
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140045f59
dec ecx
jmp 0x140045f63
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
xor edx, edx
add rsp, 0x68
pop rdi
pop rsi
jmp fcn.1400a2018

Function at 0x140045ff0
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rdi, rcx
mov rsi, qword [rcx]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140046018
dec ecx
mov edx, 1
call fcn.1400a2018
cmp qword [rdi + 8], 0
jne 0x140046033
jmp 0x14004604b
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
mov edx, 1
call fcn.1400a2018
cmp qword [rdi + 8], 0
je 0x14004604b
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14004604b
lock dec qword [rax]
jne 0x14004604b
lea rcx, [rdi + 0x10]
call sym._ZN5alloc4sync16Arc_LT_T_C_A_GT_9drop_slow17h0342b206b2b42b46E.llvm.17224621830389769283
mov edx, 0x18
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140046069
dec ecx
jmp 0x140046073
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
xor edx, edx
add rsp, 0x68
pop rdi
pop rsi
jmp fcn.1400a2018
Function at 0x140046100
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rdi, rcx
mov rsi, qword [rcx]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140046128
dec ecx
mov edx, 1
call fcn.1400a2018
cmp qword [rdi + 8], 0
jne 0x140046143
jmp 0x14004615b
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
mov edx, 1
call fcn.1400a2018
cmp qword [rdi + 8], 0
je 0x14004615b
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14004615b
lock dec qword [rax]
jne 0x14004615b
lea rcx, [rdi + 0x10]
call sym.alloc::sync::Arc_T_A_::drop_slow::h0632823e15101f41
mov edx, 0x18
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140046179
dec ecx
jmp 0x140046183
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
xor edx, edx
add rsp, 0x68
pop rdi
pop rsi
jmp fcn.1400a2018
Function at 0x140046210
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rsi, rcx
mov ecx, dword [0x1400a46f8]
test ecx, ecx
je 0x140046329
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14004623f
cmp qword [rax + 8], 0
jne 0x140046323
mov ecx, dword [0x1400a46f8]
test ecx, ecx
je 0x14004634b
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140046368
test rax, rax
jne 0x1400462c9
mov qword [rsp + 0x28], 0
lea rax, sym.std::sys::thread_local::os_local::destroy_value::h7c38a56265c49383
mov qword [rsp + 0x20], rax
mov rax, qword [str.1__r_]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14004638a
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rax], xmm0
mov ecx, dword [0x1400a46f8]
test ecx, ecx
je 0x140046371
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400a2018
mov rax, rdi
test rsi, rsi
je 0x1400462e3
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x1400462e5
mov rcx, qword [rsi + 8]
jmp 0x1400462e5
xor ecx, ecx
mov r8, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], rdx
mov qword [rax + 8], 1
mov qword [rax + 0x10], rcx
test r8, r8
je 0x140046323
test rdx, rdx
je 0x140046323
lock dec qword [rdx]
jne 0x140046323
lea rcx, [rsp + 0x28]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::ha65b956ad65898e0
mov rax, rsi
add rax, 0x10
jmp 0x14004636a
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h7c38a56265c49383
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x140046234
jmp 0x14004623f
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h7c38a56265c49383
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14004625e
xor eax, eax
add rsp, 0x38
pop rdi
pop rsi
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h7c38a56265c49383
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
mov rax, rdi
jmp 0x1400462bb
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hc29ae932b255401d
ud2
Function at 0x140058040
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmmword [rsp + 0x20], xmm6
mov rsi, r8
mov rdi, rcx
test r8, r8
je 0x1400580c3
js 0x140058207
mov r15, rdx
mov rax, qword [str.1__r_]
movzx eax, byte [rax]
mov edx, 1
mov rcx, rsi
call sym.__rust_alloc
test rax, rax
je 0x14005820c
mov r14, rax
mov rbx, rax
mov rcx, r14
mov rdx, r15
mov r8, rsi
call sym.memcpy
mov rdx, r14
cmp rsi, 8
jb 0x1400581bc
movabs rax, 0x7fffffffffffffe0
cmp rsi, 0x20
jae 0x1400580cd
xor ecx, ecx
jmp 0x140058156
mov ebx, 1
jmp 0x1400581df
mov rcx, rsi
and rcx, rax
xor edx, edx
movdqa xmm0, xmmword [0x1400af4b0]
movdqa xmm1, xmmword [0x1400af4c0]
movdqa xmm2, xmmword [0x1400af4d0]
nop dword [rax]
movdqu xmm3, xmmword [rbx + rdx]
movdqu xmm4, xmmword [rbx + rdx + 0x10]
movdqa xmm5, xmm3
paddb xmm5, xmm0
movdqa xmm6, xmm4
paddb xmm6, xmm0
movdqa xmm7, xmm5
pminub xmm7, xmm1
pcmpeqb xmm7, xmm5
pand xmm7, xmm2
movdqa xmm5, xmm6
pminub xmm5, xmm1
pcmpeqb xmm5, xmm6
pand xmm5, xmm2
pxor xmm7, xmm3
pxor xmm5, xmm4
movdqu xmmword [rbx + rdx], xmm7
movdqu xmmword [rbx + rdx + 0x10], xmm5
add rdx, 0x20
cmp rcx, rdx
jne 0x1400580f0
cmp rcx, rsi
je 0x1400581df
test sil, 0x18
je 0x1400581b6
add rax, 0x18
and rax, rsi
lea rdx, [r14 + rax]
movdqa xmm0, xmmword [0x1400af4e0]
movdqa xmm1, xmmword [0x1400af4f0]
movdqa xmm2, xmmword [0x1400af500]
nop dword [rax]
movq xmm3, qword [rbx + rcx]
movdqa xmm4, xmm3
paddb xmm4, xmm0
movdqa xmm5, xmm4
pmaxub xmm5, xmm1
pcmpeqb xmm5, xmm4
pandn xmm5, xmm2
pxor xmm5, xmm3
movq qword [rbx + rcx], xmm5
add rcx, 8
cmp rax, rcx
jne 0x140058180
cmp rax, rsi
jne 0x1400581bc
jmp 0x1400581df
add rcx, r14
mov rdx, rcx
add r14, rsi
nop
movzx eax, byte [rdx]
lea ecx, [rax - 0x61]
cmp cl, 0x1a
setb cl
shl cl, 5
xor cl, al
mov byte [rdx], cl
lea rax, [rdx + 1]
mov rdx, rax
cmp rax, r14
jne 0x1400581c0
mov qword [rdi], rsi
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], rsi
mov byte [rdi + 0x18], 0
mov rax, rdi
movaps xmm6, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call sym.alloc::raw_vec::capacity_overflow::h8e8e69ac4f4273d6
mov ecx, 1
mov rdx, rsi
call sym.alloc::alloc::handle_alloc_error::hc29ae932b255401d
int3

Function at 0x140060cb0
Capabilities:
Resolve dns

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rax, r8
mov rsi, rcx
mov rdi, qword [rdx]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x30]
lea r9, [rsp + 0x28]
mov rcx, rax
xor edx, edx
call fcn.1400a2398
test eax, eax
je 0x140060d0e
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x140060d20
mov rax, qword [rsp + 0x28]
movzx ecx, word [rdi]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
mov rax, rsi
add rsp, 0x68
pop rdi
pop rsi
ret
Function at 0x140063e60
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov dword [rsp + 0x34], r9d
mov rcx, qword [rcx]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140063e8a
xor eax, eax
add rsp, 0x38
ret
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x140063ea0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
movzx eax, word [rsp + 0x60]
mov word [rsp + 0x34], r9w
mov word [rsp + 0x36], ax
mov rcx, qword [rcx]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140063ed5
xor eax, eax
add rsp, 0x38
ret
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
Function at 0x1400641b0
Capabilities:
Resolve dns

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x218
mov r14, r8
mov rdi, rdx
mov rsi, rcx
mov rbx, r8
jmp 0x1400641d5
cmp rbx, r14
ja 0x140064201
mov cl, 0x3a
mov rdx, rdi
mov r8, rbx
call sym.core::slice::memchr::memrchr::hb948ef6f43356d5d
cmp rax, 1
jne 0x1400641fc
mov rbx, rdx
cmp rdx, r14
jae 0x1400641d0
cmp byte [rdi + rbx], 0x3a
jne 0x1400641d0
lea rax, [rbx + 1]
jmp 0x14006420d
test rax, rax
jne 0x14006420d
lea rax, str.__f_v_
jmp 0x140064299
lea rcx, [rdi + rax]
sub r14, rax
mov rdx, r14
call sym.core::num::__impl_core::str::traits::FromStr_for_u16_::from_str::hc751505c78a7c1c1
test al, 1
jne 0x140064292
shr eax, 0x10
mov word [rsp + 0x36], ax
mov rax, qword [0x1400d6058]
cmp rax, 3
jne 0x140064328
lea rax, [rsp + 0x36]
mov qword [rsp + 0x40], rax
cmp rbx, 0x17f
ja 0x14006434b
lea r14, [rsp + 0x98]
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sym.memcpy
mov byte [rsp + rbx + 0x98], 0
inc rbx
lea rcx, [rsp + 0x48]
mov rdx, r14
mov r8, rbx
call sym.core::ffi::c_str::CStr::from_bytes_with_nul::h4d97cfcfa6d81cba
cmp qword [rsp + 0x48], 0
je 0x1400642b4
lea rax, str.file_name_contained_an_unexpected_NUL_byte
jmp 0x140064299
lea rax, str.X_f_v_
mov qword [rsi + 8], rax
mov qword [rsi], 1
mov rax, rsi
add rsp, 0x218
pop rbx
pop rdi
pop rsi
pop r14
ret
mov rcx, qword [rsp + 0x50]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x68], 1
mov qword [rsp + 0x38], 0
lea r8, [rsp + 0x60]
lea r9, [rsp + 0x38]
xor edx, edx
call fcn.1400a2398
test eax, eax
je 0x140064308
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x14006431c
mov rax, qword [rsp + 0x38]
movzx ecx, word [rsp + 0x36]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
jmp 0x1400642a4
lea rcx, [0x1400d6058]
call sym.std::sync::once_lock::OnceLock_T_::initialize::hfa652e4a250bad3f
lea rax, [rsp + 0x36]
mov qword [rsp + 0x40], rax
cmp rbx, 0x17f
jbe 0x140064250
lea rax, sym._ZN4core3ptr163drop_in_place_LT__LT_std..sys_common..net..LookupHost_u20_as_u20_core..convert..TryFrom_LT__LP__RF_str_C_u16_RP
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call sym.std::sys::pal::common::small_c_string::run_with_cstr_allocating::h377749e2d4328949
jmp 0x1400642a4
Function at 0x140064370
Capabilities:
Resolve dns

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x210
mov rax, rdx
mov rsi, rcx
mov rdx, qword [rdx]
mov rdi, qword [rax + 8]
movzx eax, word [rax + 0x10]
mov word [rsp + 0x36], ax
mov rax, qword [0x1400d6058]
cmp rax, 3
jne 0x14006447f
lea rax, [rsp + 0x36]
mov qword [rsp + 0x40], rax
cmp rdi, 0x17f
ja 0x1400644a8
lea rbx, [rsp + 0x90]
mov rcx, rbx
mov r8, rdi
call sym.memcpy
mov byte [rsp + rdi + 0x90], 0
inc rdi
lea rcx, [rsp + 0x48]
mov rdx, rbx
mov r8, rdi
call sym.core::ffi::c_str::CStr::from_bytes_with_nul::h4d97cfcfa6d81cba
cmp qword [rsp + 0x48], 0
je 0x140064402
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x140064471
mov rcx, qword [rsp + 0x50]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x68], 1
mov qword [rsp + 0x38], 0
lea r8, [rsp + 0x60]
lea r9, [rsp + 0x38]
xor edx, edx
call fcn.1400a2398
test eax, eax
je 0x140064456
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x14006446a
mov rax, qword [rsp + 0x38]
movzx ecx, word [rsp + 0x36]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
mov rax, rsi
add rsp, 0x210
pop rbx
pop rdi
pop rsi
ret
lea rcx, [0x1400d6058]
mov rbx, rdx
call sym.std::sync::once_lock::OnceLock_T_::initialize::hfa652e4a250bad3f
mov rdx, rbx
lea rax, [rsp + 0x36]
mov qword [rsp + 0x40], rax
cmp rdi, 0x17f
jbe 0x1400643b8
lea rax, sym._ZN4core3ptr163drop_in_place_LT__LT_std..sys_common..net..LookupHost_u20_as_u20_core..convert..TryFrom_LT__LP__RF_str_C_u16_RP
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
mov rcx, rsi
mov r8, rdi
call sym.std::sys::pal::common::small_c_string::run_with_cstr_allocating::h377749e2d4328949
jmp 0x140064471

Function at 0x1400644d0
Capabilities:
Resolve dns

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rax, r8
mov rdi, rdx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x30]
lea r9, [rsp + 0x28]
mov rcx, rax
xor edx, edx
call fcn.1400a2398
test eax, eax
je 0x14006452e
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x140064543
mov rcx, qword [rdi]
mov rax, qword [rsp + 0x28]
movzx ecx, word [rcx]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
mov rax, rsi
add rsp, 0x68
pop rdi
pop rsi
ret
Function at 0x140064560
Capabilities:
Connect socket

Disassembly:
push rsi
push rdi
sub rsp, 0x48
mov eax, 1
test rcx, rcx
jne 0x140064612
mov rax, qword [0x1400d6058]
cmp rax, 3
jne 0x140064638
mov rsi, rdx
mov rcx, rdx
mov edx, 1
call sym.std::sys::pal::windows::net::Socket::new::hd91eab953d3c9b3f
test rax, rax
je 0x1400645a1
mov eax, 1
jmp 0x140064612
cmp word [rsi], 0
je 0x1400645c3
movups xmm0, xmmword [rsi + 4]
mov eax, dword [rsi + 0x14]
mov r9d, dword [rsi + 0x18]
movzx ecx, word [rsi + 0x1c]
mov r8d, 0x1c
mov r10w, 0x17
jmp 0x1400645d8
mov eax, dword [rsi + 2]
movzx ecx, word [rsi + 6]
mov r8d, 0x10
mov r10w, 2
xorps xmm0, xmm0
rol cx, 8
mov word [rsp + 0x2c], r10w
mov word [rsp + 0x2e], cx
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x34], xmm0
mov dword [rsp + 0x44], r9d
lea rax, [rsp + 0x2c]
mov rsi, rdx
mov rcx, rdx
mov rdx, rax
call sub.WS2_32.dll_connect
cmp eax, 0xffffffff
je 0x140064619
xor eax, eax
mov rdx, rsi
add rsp, 0x48
pop rdi
pop rsi
ret
call sub.WS2_32.dll_WSAGetLastError
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov rcx, rsi
call sub.WS2_32.dll_closesocket
mov rdx, rdi
jmp 0x14006459a
lea rcx, [0x1400d6058]
mov rsi, rdx
call sym.std::sync::once_lock::OnceLock_T_::initialize::hfa652e4a250bad3f
mov rdx, rsi
jmp 0x140064585

Function at 0x1400646f0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
xor r9d, r9d
cmp r8d, 0x3b9aca00
je 0x14006474e
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x14006474e
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x14006474e
imul edx, edx, 0xf4240
xor r10d, r10d
sub r8d, edx
setne r10b
add rax, r10
jb 0x14006474e
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x140064791
mov dword [rsp + 0x34], r9d
mov rcx, qword [rcx]
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 0x14006477f
xor eax, eax
add rsp, 0x38
ret
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
lea rax, str.cannot_set_a_0_duration_timeout
add rsp, 0x38
ret

Function at 0x1400647a0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
xor r9d, r9d
cmp r8d, 0x3b9aca00
je 0x1400647fe
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x1400647fe
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x1400647fe
imul edx, edx, 0xf4240
xor r10d, r10d
sub r8d, edx
setne r10b
add rax, r10
jb 0x1400647fe
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x140064841
mov dword [rsp + 0x34], r9d
mov rcx, qword [rcx]
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 0x14006482f
xor eax, eax
add rsp, 0x38
ret
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
lea rax, str.cannot_set_a_0_duration_timeout
add rsp, 0x38
ret