joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14015bd90
Capabilities:
Get number of processors

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x60
lea rbp, [rsp + 0x60]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, rdx
mov rsi, rcx
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rdx
mov eax, dword [0x1402df1c8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0xa0]
cmp eax, 1
je 0x140157dbd
test eax, eax
jne 0x140157e27
mov byte [rbp - 9], 0
mov eax, dword [0x1402df1c8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x58]
lea rdx, [0x140157620]
call fcn.14019fe00
mov eax, dword [0x1402df1c8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0xa0], 1
mov qword [rbp - 0x30], 0
mov eax, dword [0x1402df1c8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r8, qword [rax + 0x80]
test r8, r8
je 0x140157e5a
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rdi
cmp qword [r8], 0
mov rsi, qword [rsi]
jne 0x140157dff
cmp rsi, qword [r8 + 8]
je 0x140157e8c
lea rcx, [rsi + 0xb8]
mov byte [rbp - 0xa], 1
mov rdx, rdi
call fcn.140168c40
add rsi, 0xe8
mov byte [rbp - 0xa], 1
mov rcx, rsi
call fcn.14014e110
jmp 0x140157e83
mov qword [rbp - 0x30], 0
mov rsi, qword [rsi]
lea rcx, [rsi + 0xb8]
mov byte [rbp - 9], 1
mov rdx, rdi
call fcn.140168c40
add rsi, 0xe8
mov byte [rbp - 9], 1
mov rcx, rsi
call fcn.14014e110
jmp 0x140157e83
mov rsi, qword [rsi]
lea rcx, [rsi + 0xb8]
mov byte [rbp - 9], 1
mov rdx, rdi
call fcn.140168c40
add rsi, 0xe8
mov byte [rbp - 9], 1
mov rcx, rsi
call fcn.14014e110
nop
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret
cmp qword [r8 + 0x10], 0
jne 0x140157f36
mov qword [r8 + 0x10], 0xffffffffffffffff
mov rsi, qword [r8 + 0x18]
test rsi, rsi
je 0x140157ef8
mov rcx, qword [rsi + 0x40]
mov rax, qword [rsi + 0x58]
cmp rax, rcx
jne 0x140157ed6
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], rdi
lea rcx, [rsi + 0x40]
call fcn.14000c9e0
mov rcx, qword [rsi + 0x40]
mov rax, qword [rsi + 0x58]
mov rdi, qword [rbp - 0x18]
mov r8, qword [rbp - 0x20]
add rax, qword [rsi + 0x50]
xor edx, edx
cmp rax, rcx
cmovae rdx, rcx
sub rax, rdx
mov rcx, qword [rsi + 0x48]
mov qword [rcx + rax*8], rdi
inc qword [rsi + 0x58]
inc qword [r8 + 0x10]
jmp 0x140157e83
mov qword [r8 + 0x10], 0
mov rax, 0xffffffffffffffc0
lock xadd qword [rdi], rax
cmp rax, 0x3f
jbe 0x140157f48
and rax, 0xffffffffffffffc0
cmp rax, 0x40
jne 0x140157e83
mov rax, qword [rdi + 0x10]
mov rax, qword [rax + 0x10]
mov byte [rbp - 9], 1
mov rcx, rdi
call rax
jmp 0x140157e83
mov byte [rbp - 0xa], 0
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.40.0_src_runtime_schedulercurrent_threadmod.rs
call fcn.1401c1ff0
jmp 0x140157f64
mov byte [rbp - 9], 1
lea rcx, str.assertion_failed:_prev.ref_count_____1
lea r8, [0x140237140]
mov edx, 0x27
call fcn.1401c2210
ud2
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.40.0_src_runtime_schedulercurrent_threadmod.rs4_
jmp 0x140157d30
Function at 0x140168a10
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x28
cmp qword [rcx + 0x18], 0xffffffffffffffff
je 0x140168a28
add rcx, 0x18
add rsp, 0x28
jmp 0x140172a00
lea rcx, [0x1402386c0]
call fcn.1401c20b0
int3
jmp 0x140198f50
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 qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x140198f88
xor eax, eax
add rsp, 0x38
ret
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x14016e040
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xc0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov qword [rbp + 0x10], rcx
mov rax, qword [rcx]
nop
mov rdx, rax
xor rdx, 3
lock cmpxchg qword [rcx], rdx
jne 0x14016e060
test al, 1
je 0x14016e123
test al, 2
jne 0x14016e13b
xor rax, 3
mov qword [rbp], rax
mov rcx, rbp
lea rdx, [rbp + 0x10]
call fcn.140164700
test rax, rax
je 0x14016e0be
mov qword [rbp + 0x20], rax
mov rcx, rax
mov qword [rbp + 0x28], rdx
call qword [rdx]
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax + 8]
test rdx, rdx
mov rcx, qword [rbp + 0x20]
je 0x14016e0be
mov r8, qword [rax + 0x10]
call fcn.140009010
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx + 0x78]
test rax, rax
je 0x14016e0ec
mov r8, qword [rcx + 0x80]
mov rcx, qword [r8 + 0x10]
dec rcx
and rcx, 0xfffffffffffffff0
add rcx, rax
add rcx, 0x10
lea rdx, [rbp + 0x1f]
call qword [r8 + 0x28]
mov rcx, qword [rbp + 0x10]
mov qword [rbp + 8], 1
mov rax, 0xffffffffffffffc0
lock xadd qword [rcx], rax
shr rax, 6
cmp rax, qword [rbp + 8]
jb 0x14016e153
jne 0x14016e119
mov rcx, qword [rbp + 0x10]
call fcn.14016db50
nop
add rsp, 0xc0
pop rbp
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x140236f28]
mov edx, 0x23
call fcn.1401c2210
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x140236f68]
mov edx, 0x25
call fcn.1401c2210
mov qword [rbp - 8], rax
lea rax, [rbp - 8]
mov qword [rbp - 0x28], rax
lea rax, [fcn.1401b72d0]
mov qword [rbp - 0x20], rax
lea rcx, [rbp + 8]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rax
lea rax, str.current:___sub:
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], 2
mov qword [rbp - 0x38], 0
lea rax, [rbp - 0x28]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 2
lea rdx, [0x140236fb0]
lea rcx, [rbp - 0x58]
call fcn.1401c2140
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x28]
call qword [rax]
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14016e0ec
mov rax, qword [rbp + 0x28]
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0x20]
call fcn.140009010
jmp 0x14016e0ec

Function at 0x14016e8c0
Capabilities:
Connect socket

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx]
mov r8d, dword [rdx + 0x80]
call qword [sym.imp.ws2_32.dll_connect]
test eax, eax
je 0x14016e8ea
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x28
ret
xor eax, eax
add rsp, 0x28
ret
Function at 0x14016e900
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 qword [sym.imp.ws2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x14016e92a
xor eax, eax
add rsp, 0x28
ret
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x28
ret

Function at 0x14016e940
Capabilities:
Set socket configuration

Disassembly:
mov edx, edx
jmp 0x14016e940
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 qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14016e975
xor eax, eax
add rsp, 0x38
ret
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x14016e990
Capabilities:
Set socket configuration

Disassembly:
jmp 0x14016e990
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, 0xffff
mov r8d, 4
call qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14016e9c8
xor eax, eax
add rsp, 0x38
ret
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x14016e9e0
Capabilities:
Set socket configuration

Disassembly:
mov edx, edx
jmp 0x14016e9e0
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 qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14016ea15
xor eax, eax
add rsp, 0x38
ret
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x14016ea30
Capabilities:
Set socket configuration

Disassembly:
push rsi
push rdi
sub rsp, 0x58
mov rdi, rdx
mov rsi, qword [rcx]
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x48]
mov rcx, rsi
mov edx, 0xffff
mov r8d, 8
call qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14016eb57
mov r9d, dword [rdi + 8]
xor ecx, ecx
mov r8d, 0
cmp r9d, 0x3b9aca00
je 0x14016eab8
mov eax, 0x3e8
mul qword [rdi]
mov r8d, r9d
imul r9, r8, 0x431bde83
shr r9, 0x32
add r9, rax
adc rdx, 0
mov eax, 0xffffffff
cmp r9, rax
cmovae r9, rax
xor r8d, r8d
neg rdx
sbb r8d, r8d
or r8d, r9d
mov r9d, dword [rdi + 0x18]
cmp r9d, 0x3b9aca00
je 0x14016eaf9
mov eax, 0x3e8
mul qword [rdi + 0x10]
mov ecx, r9d
imul r9, rcx, 0x431bde83
shr r9, 0x32
add r9, rax
adc rdx, 0
mov eax, 0xffffffff
cmp r9, rax
cmovae r9, rax
xor ecx, ecx
neg rdx
sbb ecx, ecx
or ecx, r9d
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x4c], r8d
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x54], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
lea rax, [rsp + 0x54]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x48]
mov rcx, rsi
mov edx, 0x98000004
mov r9d, 0xc
call qword [sym.imp.ws2_32.dll_WSAIoctl]
cmp eax, 0xffffffff
je 0x14016eb57
xor eax, eax
jmp 0x14016eb64
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x58
pop rdi
pop rsi
ret
Function at 0x140196110
Capabilities:
Get system information on windows

Disassembly:
push rsi
sub rsp, 0x50
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call qword [sym.imp.kernel32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x40]
test rax, rax
je 0x140196146
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x140196156
lea rax, str.The_number_of_hardware_threads_is_not_known_for_the_target_platform
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x50
pop rsi
ret

Function at 0x140196170
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x478
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x3f0], 0xfffffffffffffffe
mov qword [rbp + 0x3e0], rcx
mov qword [rbp + 0x3c8], 0
mov qword [rbp + 0x3d0], 2
mov qword [rbp + 0x3d8], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3e8], rax
xor ebx, ebx
xor edi, edi
xor r12d, r12d
cmp r8, 0x201
jae 0x140196210
jmp 0x1401961ff
jae 0x1401962d0
cmp r8, 0x201
jae 0x140196210
mov esi, 0x200
lea r13, [rbp - 0x58]
mov r15, r8
jmp 0x140196268
sub r8, r12
sub rdi, r12
cmp rdi, r8
jae 0x14019623f
lea rcx, [rbp + 0x3c8]
mov rdx, r12
call fcn.1401c10b0
mov rbx, qword [rbp + 0x3c8]
mov rax, qword [rbp + 0x3d0]
mov qword [rbp + 0x3e8], rax
mov eax, 0xffffffff
cmp rbx, rax
mov r12d, 0xffffffff
cmovb r12, rbx
mov qword [rbp + 0x3d8], r12
mov rdi, rbx
mov rsi, r12
mov r13, qword [rbp + 0x3e8]
mov r15, r12
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov ecx, r15d
mov rdx, r13
call qword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
mov r14d, eax
test eax, eax
jne 0x140196291
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x140196338
mov r8d, r14d
cmp r15, r8
jne 0x1401961f0
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140196365
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jb 0x1401961ff
jmp 0x140196210
cmp rsi, r8
jb 0x14019637f
lea rcx, [rbp + 0x3a8]
mov rdx, r13
call fcn.140199190
movups xmm0, xmmword [rbp + 0x3a8]
movups xmm1, xmmword [rbp + 0x3b8]
mov rsi, qword [rbp + 0x3e0]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
test rbx, rbx
je 0x140196321
add rbx, rbx
mov r8d, 2
mov rcx, qword [rbp + 0x3e8]
mov rdx, rbx
call fcn.140009010
mov rax, rsi
add rsp, 0x478
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov rsi, qword [rbp + 0x3e0]
mov qword [rsi + 8], rax
movabs rax, 0x8000000000000000
mov qword [rsi], rax
test rbx, rbx
jne 0x140196309
jmp 0x140196321
lea rcx, str.internal_error:_entered_unreachable_code_rustc_aedd173a2c086e558c2b66d3743b344f977621a7library_alloc_src_vecmod.rs
lea r8, str.library_std_src_syspalwindowsmod.rs
mov edx, 0x28
call fcn.1401c2210
jmp 0x140196394
lea rax, str.library_std_src_syspalwindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.1401c2740
ud2
Function at 0x140198f50
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x28
cmp qword [rcx + 0x18], 0xffffffffffffffff
je 0x140168a28
add rcx, 0x18
add rsp, 0x28
jmp 0x140172a00
lea rcx, [0x1402386c0]
call fcn.1401c20b0
int3
jmp 0x140198f50
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 qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x140198f88
xor eax, eax
add rsp, 0x38
ret
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

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

Disassembly:
push rsi
sub rsp, 0x20
mov rax, r8
mov rsi, rcx
mov rcx, qword [rdx]
mov rcx, qword [rcx]
cmp r9, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, r9
mov rdx, rax
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_recv]
cmp eax, 0xffffffff
je 0x140198fd7
cdqe
jmp 0x140198fe6
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x274a
jne 0x140198fee
xor eax, eax
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x140198fff
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x20
pop rsi
ret

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

Disassembly:
push rsi
sub rsp, 0x20
mov rax, r8
mov rsi, rcx
mov rcx, qword [rdx]
mov rcx, qword [rcx]
cmp r9, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, r9
mov rdx, rax
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_send]
cmp eax, 0xffffffff
je 0x14019904d
cdqe
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x140199064
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x20
pop rsi
ret

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

Disassembly:
push rsi
sub rsp, 0x40
mov rax, r8
mov rsi, rcx
mov rcx, qword [rdx]
mov rcx, qword [rcx]
mov r8d, 0xffffffff
cmp r9, r8
cmovb r8, r9
mov dword [rsp + 0x3c], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x3c]
mov rdx, rax
call qword [sym.imp.ws2_32.dll_WSASend]
cmp eax, 0xffffffff
je 0x1401990c5
mov eax, dword [rsp + 0x3c]
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x1401990dc
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x40
pop rsi
ret
Function at 0x14019e780
Capabilities:
Write file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rsp + 0xe0]
movups xmm0, xmmword [0x140276c08]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r9, rax
cmovb rax, r9
test rcx, rcx
je 0x14019e7c4
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x80], rdx
test rcx, rcx
mov qword [rsp + 0x78], rcx
lea rdx, [rsp + 0x80]
cmove rdx, rcx
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov rcx, rdi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtWriteFile]
cmp eax, 0x103
jne 0x14019e82a
mov rcx, rdi
mov edx, 0xffffffff
call qword [sym.imp.kernel32.dll_WaitForSingleObject]
mov eax, dword [rsp + 0x60]
cmp eax, 0x103
je 0x14019e861
test eax, eax
js 0x14019e83b
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x14019e854
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
add rsp, 0xa8
pop rdi
pop rsi
ret
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x5c], 0
lea rax, str._l_
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x78]
call fcn.140198710
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
call fcn.140194010
mov ecx, 7
int 0x29
ud2

Function at 0x14019e8d0
Capabilities:
Create udp socket

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov edi, r8d
mov rsi, rcx
cmp word [rdx], 0
mov eax, 2
mov ebx, 0x17
cmove ebx, eax
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
mov ecx, ebx
mov edx, r8d
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_WSASocketW]
cmp rax, 0xffffffffffffffff
je 0x14019e925
mov qword [rsi + 8], rax
mov qword [rsi], 0
jmp 0x14019e9c1
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x2726
je 0x14019e939
cmp eax, 0x2739
jne 0x14019e98a
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov ecx, ebx
mov edx, edi
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_WSASocketW]
cmp rax, 0xffffffffffffffff
je 0x14019e984
mov rdi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call qword [sym.imp.kernel32.dll_SetHandleInformation]
test eax, eax
je 0x14019e99f
mov qword [rsi + 8], rdi
mov qword [rsi], 0
jmp 0x14019e9c1
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x14019e9c1
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
mov rcx, rdi
call qword [sym.imp.ws2_32.dll_closesocket]
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
Function at 0x14019f2c0
Capabilities:
Generate random numbers via winapi

Disassembly:
sub rsp, 0x38
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x10
mov r9d, 2
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
test eax, eax
js 0x14019f2f8
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
add rsp, 0x38
ret
call fcn.14019f310
nop
add rsp, 0x38
ret

Function at 0x14019f310
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], 0xfffffffffffffffe
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
mov edx, 0x10
call qword [sym.imp.advapi32.dll_SystemFunction036]
test al, al
je 0x14019f353
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rsp, 0x80
pop rbp
ret
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x10]
mov qword [rbp - 0x30], rax
lea rax, [fcn.140196ef0]
mov qword [rbp - 0x28], rax
lea rax, str.fallback_RNG_broken:
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 1
mov qword [rbp - 0x40], 0
lea rax, [rbp - 0x30]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 1
lea rdx, str.library_std_src_syspalwindows_rand.rs
lea rcx, [rbp - 0x60]
call fcn.1401c2140
ud2

Function at 0x14019f9e0
Capabilities:
Create thread

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, r8
mov r14, rdx
mov rsi, rcx
movzx eax, byte [0x1402df001]
mov ecx, 0x10
mov edx, 8
call fcn.140009000
test rax, rax
je 0x14019fabf
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x14019fb70]
xor edi, edi
xor ecx, ecx
mov rdx, rsi
mov r9, rax
call qword [sym.imp.kernel32.dll_CreateThread]
mov rdx, rax
test rax, rax
jne 0x14019fab1
mov rcx, qword [rbx]
mov qword [rbp - 0x18], rbx
mov rax, qword [rbx + 8]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x10], rax
call qword [rax]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019fa88
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
call fcn.140009010
mov edx, 0x10
mov r8d, 8
mov rcx, qword [rbp - 0x18]
call fcn.140009010
call qword [sym.imp.kernel32.dll_GetLastError]
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov edi, 1
mov rax, rdi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], rdi
mov ecx, 8
mov edx, 0x10
call fcn.1401c1ed0
ud2
Function at 0x1401a0ef0
Capabilities:
Resolve dns

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1f0
mov rsi, rcx
mov r14, qword [rdx]
mov rbx, qword [rdx + 8]
movzx edi, word [rdx + 0x10]
mov rax, qword [0x1402df128]
cmp rax, 3
jne 0x1401a0fe6
cmp rbx, 0x17f
ja 0x1401a0ff8
lea r15, [rsp + 0x70]
mov rcx, r15
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rbx + 0x70], 0
inc rbx
lea rcx, [rsp + 0x28]
mov rdx, r15
mov r8, rbx
call fcn.1401ada30
cmp qword [rsp + 0x28], 0
je 0x1401a0f74
lea rax, str.h__
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x1401a1009
mov rcx, qword [rsp + 0x30]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x48], 1
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x40]
lea r9, [rsp + 0x20]
xor edx, edx
call qword [sym.imp.ws2_32.dll_getaddrinfo]
test eax, eax
je 0x1401a0fce
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
jmp 0x1401a1009
mov rax, qword [rsp + 0x20]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], di
xor eax, eax
mov qword [rsi], rax
jmp 0x1401a1009
call fcn.1401c1380
cmp rbx, 0x17f
jbe 0x1401a0f2a
mov rcx, rsi
mov rdx, r14
mov r8, rbx
mov r9d, edi
call fcn.1401c1460
mov rax, rsi
add rsp, 0x1f0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret

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

Disassembly:
push rsi
sub rsp, 0xb0
mov rax, rdx
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], 0x80
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x2c]
mov rcx, rax
call qword [sym.imp.ws2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x1401a1210
mov eax, dword [rsp + 0x2c]
movzx ecx, word [rsp + 0x30]
cmp ecx, 2
je 0x1401a1220
cmp ecx, 0x17
jne 0x1401a1247
cmp eax, 0x1b
jbe 0x1401a1260
movzx eax, word [rsp + 0x32]
rol ax, 8
movups xmm0, xmmword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x48]
mov word [rsi], 1
movups xmmword [rsi + 4], xmm0
mov dword [rsi + 0x14], ecx
mov dword [rsi + 0x18], edx
mov word [rsi + 0x1c], ax
add rsp, 0xb0
pop rsi
ret
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
jmp 0x1401a124e
cmp eax, 0xf
jbe 0x1401a1278
movzx eax, word [rsp + 0x32]
rol ax, 8
mov ecx, dword [rsp + 0x34]
mov word [rsi], 0
mov word [rsi + 6], ax
mov dword [rsi + 2], ecx
add rsp, 0xb0
pop rsi
ret
lea rax, str.invalid_argumentpy_
mov qword [rsi + 8], rax
mov word [rsi], 2
add rsp, 0xb0
pop rsi
ret
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___
lea r8, [0x140277958]
mov edx, 0x43
call fcn.1401c2210
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___library_std_src_sys_common_net.rs
lea r8, [0x1402778f8]
mov edx, 0x42
call fcn.1401c2210
int3