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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rdi, rdx
mov rbx, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x14012c624
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14012c639
mov rsi, rax
cmp qword [rax + 8], 0
je 0x14012c639
add rsi, 8
jmp 0x14012c72f
mov rcx, rbx
call fcn.140200490
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14012c611
mov ecx, dword [rbx + 0x18]
test ecx, ecx
je 0x14012c714
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14012c72d
mov rsi, rax
test rax, rax
jne 0x14012c6a2
mov rax, qword [0x14031ef28]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call fcn.14000ea30
test rax, rax
je 0x14012c75a
mov rsi, rax
mov qword [rax], rbx
mov qword [rax + 8], 0
mov ecx, dword [rbx + 0x18]
test ecx, ecx
je 0x14012c73a
dec ecx
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
test rdi, rdi
je 0x14012c6b6
mov rax, qword [rdi]
mov qword [rdi], 0
test rax, rax
jne 0x14012c6ee
mov rax, qword [0x14031ef28]
movzx eax, byte [rax]
mov ecx, 0x28
mov edx, 8
call fcn.14000ea30
test rax, rax
je 0x14012c749
mov qword [rax], 1
mov qword [rax + 8], 1
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
mov byte [rax + 0x20], 0
add rsi, 8
mov rcx, qword [rsi]
mov qword [rsp + 0x28], rcx
mov qword [rsi], rax
test rcx, rcx
je 0x14012c72f
lock dec qword [rcx]
jne 0x14012c72f
lea rcx, [rsp + 0x28]
call fcn.140134fe0
jmp 0x14012c72f
mov rcx, rbx
call fcn.140200490
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14012c655
xor esi, esi
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
mov rcx, rbx
call fcn.140200490
mov ecx, eax
jmp 0x14012c69a
mov ecx, 8
mov edx, 0x28
call fcn.140226c80
ud2
mov ecx, 8
mov edx, 0x10
call fcn.140226c80
ud2
Function at 0x14012c770
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0xd0
mov rdi, rdx
mov rbx, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x14012c918
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14012c7a6
mov rsi, rax
cmp qword [rax + 8], 0
jne 0x14012c949
mov ecx, dword [rbx + 0x18]
test ecx, ecx
je 0x14012c94f
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14012c968
mov rsi, rax
test rax, rax
jne 0x14012c80f
mov rax, qword [0x14031ef28]
movzx eax, byte [rax]
mov ecx, 0x60
mov edx, 8
call fcn.14000ea30
test rax, rax
je 0x14012c987
mov rsi, rax
mov qword [rax], rbx
mov qword [rax + 8], 0
mov ecx, dword [rbx + 0x18]
test ecx, ecx
je 0x14012c978
dec ecx
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
lea rax, [rsi + 8]
test rdi, rdi
je 0x14012c834
lea rdx, [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
lea rcx, [0x1402afeb0]
cmovne rcx, rdx
jmp 0x14012c83b
lea rcx, [0x1402afeb0]
movups xmm0, xmmword [rcx + 0x40]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmm3, xmmword [rcx + 0x30]
movaps xmmword [rsp + 0x50], xmm3
movaps xmmword [rsp + 0x40], xmm2
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov rcx, qword [rax + 0x50]
mov qword [rsp + 0xc0], rcx
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movaps xmmword [rsp + 0xa0], xmm3
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsi + 8], 1
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmm2, xmmword [rsp + 0x40]
movaps xmm3, xmmword [rsp + 0x50]
movups xmmword [rsi + 0x40], xmm3
movups xmmword [rsi + 0x30], xmm2
movups xmmword [rsi + 0x20], xmm1
movups xmmword [rsi + 0x10], xmm0
cmp qword [rsp + 0x70], 0
je 0x14012c949
mov rax, qword [rsp + 0x80]
cmp rax, 2
je 0x14012c949
lea rcx, [rsp + 0x88]
test rax, rax
je 0x14012c936
mov rax, qword [rsp + 0x88]
lock dec qword [rax]
jne 0x14012c949
call fcn.140135430
jmp 0x14012c949
mov rcx, rbx
call fcn.140200490
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14012c798
jmp 0x14012c7a6
mov rax, qword [rsp + 0x88]
lock dec qword [rax]
jne 0x14012c949
call fcn.140134a20
add rsi, 0x10
jmp 0x14012c96a
mov rcx, rbx
call fcn.140200490
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14012c7c2
xor esi, esi
mov rax, rsi
add rsp, 0xd0
pop rbx
pop rdi
pop rsi
ret
mov rcx, rbx
call fcn.140200490
mov ecx, eax
jmp 0x14012c807
mov ecx, 8
mov edx, 0x60
call fcn.140226c80
ud2
Function at 0x140144b80
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x28
cmp qword [rcx + 0x18], 0xffffffffffffffff
je 0x140144b98
add rcx, 0x18
add rsp, 0x28
jmp 0x1401740b0
lea rcx, str.called__Option::unwrap____on_a__None__value_home_admin_.local_share_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.35.1_src_io_poll_evented.rs
lea r8, [0x1402b0b40]
mov edx, 0x2b
call fcn.140235da0
ud2
jmp 0x1401e1fe0
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 0x1401e2017
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 0x140146a70
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rdi, qword [rcx]
mov rsi, qword [rdi]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140146ac9
dec ecx
mov edx, 1
call sub.KERNEL32.dll_TlsSetValue
cmp qword [rdi + 8], 0
je 0x140146ae4
mov rax, qword [rdi + 0x18]
cmp rax, 2
je 0x140146ae4
lea rcx, [rdi + 0x20]
test rax, rax
je 0x140146ab9
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x140146ae4
call fcn.140135430
jmp 0x140146ae4
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x140146ae4
call fcn.140134a20
jmp 0x140146ae4
mov rcx, rsi
call fcn.140200490
mov ecx, eax
mov edx, 1
call sub.KERNEL32.dll_TlsSetValue
cmp qword [rdi + 8], 0
jne 0x140146a96
mov edx, 0x60
mov r8d, 8
mov rcx, rdi
call fcn.14000ea40
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140146b10
dec ecx
xor edx, edx
call sub.KERNEL32.dll_TlsSetValue
xor eax, eax
add rsp, 0x28
pop rdi
pop rsi
ret
mov rcx, rsi
call fcn.140200490
mov ecx, eax
jmp 0x140146b00

Function at 0x140146cc0
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rdi, qword [rcx]
mov rsi, qword [rdi]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140146d23
dec ecx
mov edx, 1
call sub.KERNEL32.dll_TlsSetValue
cmp qword [rdi + 8], 0
je 0x140146d3e
mov rbx, qword [rdi + 0x10]
test rbx, rbx
je 0x140146d3e
dec qword [rbx]
jne 0x140146d3e
mov rax, qword [rbx + 0x10]
lock dec qword [rax]
jne 0x140146d08
lea rcx, [rbx + 0x10]
call fcn.140135870
dec qword [rbx + 8]
jne 0x140146d3e
mov edx, 0x20
mov r8d, 8
mov rcx, rbx
call fcn.14000ea40
jmp 0x140146d3e
mov rcx, rsi
call fcn.140200490
mov ecx, eax
mov edx, 1
call sub.KERNEL32.dll_TlsSetValue
cmp qword [rdi + 8], 0
jne 0x140146ce7
mov edx, 0x20
mov r8d, 8
mov rcx, rdi
call fcn.14000ea40
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140146d6b
dec ecx
xor edx, edx
call sub.KERNEL32.dll_TlsSetValue
xor eax, eax
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov rcx, rsi
call fcn.140200490
mov ecx, eax
jmp 0x140146d5a
Function at 0x140147120
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rdi, qword [rcx]
mov rsi, qword [rdi]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140147183
dec ecx
mov edx, 1
call sub.KERNEL32.dll_TlsSetValue
mov rax, qword [rdi + 8]
test rax, rax
je 0x140147157
lock dec qword [rax]
jne 0x140147157
lea rcx, [rdi + 8]
call fcn.140134fe0
mov edx, 0x10
mov r8d, 8
mov rcx, rdi
call fcn.14000ea40
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x14014718f
dec ecx
xor edx, edx
call sub.KERNEL32.dll_TlsSetValue
xor eax, eax
add rsp, 0x28
pop rdi
pop rsi
ret
mov rcx, rsi
call fcn.140200490
mov ecx, eax
jmp 0x140147135
mov rcx, rsi
call fcn.140200490
mov ecx, eax
jmp 0x140147173

Function at 0x14014af80
Capabilities:
Set socket configuration

Disassembly:
jmp 0x1401686b0
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 sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1401686e7
xor eax, eax
add rsp, 0x38
ret
call fcn.1401f5ba0
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x14014afb0
Capabilities:
Set socket configuration

Disassembly:
mov edx, edx
jmp 0x140168770
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 0x1401687a4
xor eax, eax
add rsp, 0x38
ret
call fcn.1401f5ba0
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x14014b000
Capabilities:
Set socket configuration

Disassembly:
mov edx, edx
jmp 0x1401684d0
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 0x140168504
xor eax, eax
add rsp, 0x38
ret
call fcn.1401f5ba0
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x140158a60
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
mov rax, qword [rcx]
nop word [rax + rax]
mov rdx, rax
xor rdx, 3
lock cmpxchg qword [rcx], rdx
jne 0x140158a70
test al, 1
je 0x140158a8f
test al, 2
jne 0x140158aa9
xor rax, 3
add rsp, 0x28
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x1402b2c00]
mov edx, 0x23
call fcn.140235da0
ud2
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x1402b2c40]
mov edx, 0x25
call fcn.140235da0
ud2
Function at 0x1401663d0
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x58
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call sub.KERNEL32.dll_GetSystemInfo
mov eax, dword [rsp + 0x40]
add rsp, 0x58
ret

Function at 0x140166650
Capabilities:
Connect socket

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx]
mov r8d, dword [rdx + 0x80]
call sub.ws2_32.dll_connect
test eax, eax
je 0x140166679
call fcn.1401f5ba0
shl rax, 0x20
or rax, 2
add rsp, 0x28
ret
xor eax, eax
add rsp, 0x28
ret

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

Disassembly:
push rsi
sub rsp, 0xb0
mov rsi, rcx
mov rcx, qword [rdx]
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
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x2c]
call sub.ws2_32.dll_getsockname
cmp eax, 0xffffffff
je 0x140166cfd
mov eax, dword [rsp + 0x2c]
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rsi + 0x78], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsi + 0x68], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [rsi + 0x58], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x48], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x38], xmm3
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x88], eax
xor eax, eax
jmp 0x140166d13
call fcn.1401f5ba0
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
mov rax, rsi
add rsp, 0xb0
pop rsi
ret

Function at 0x140166f40
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 0x140166f69
xor eax, eax
add rsp, 0x28
ret
call fcn.1401f5ba0
shl rax, 0x20
or rax, 2
add rsp, 0x28
ret
Function at 0x140167b10
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rsi
sub rsp, 0xc0
mov rsi, rcx
mov rcx, qword [rdx]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], 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
mov dword [rsp + 0x3c], pe_nt_image_headers64
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
xor edx, edx
xor r8d, r8d
mov r9d, 2
call sub.ws2_32.dll_recvfrom
cmp eax, 0xffffffff
je 0x140167c01
mov eax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xb8]
mov qword [rsi + 0x80], rdx
movups xmm0, xmmword [rsp + 0xa8]
movups xmmword [rsi + 0x70], xmm0
movups xmm0, xmmword [rsp + 0x98]
movups xmmword [rsi + 0x60], xmm0
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [rsi + 0x50], xmm0
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rsi + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rsi + 0x30], xmm0
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rsi + 0x20], xmm0
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rsi + 0x10], xmm0
mov dword [rsi + 0x88], eax
mov qword [rsi + 8], rcx
xor eax, eax
mov qword [rsi], rax
mov rax, rsi
add rsp, 0xc0
pop rsi
ret
call fcn.1401f5ba0
cmp eax, 0x274a
je 0x140167b86
cmp eax, 0x2738
je 0x140167b86
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
jmp 0x140167bf2

Function at 0x140168340
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
xor esi, esi
xor eax, eax
cmp r8d, 0x3b9aca00
cmove edx, esi
setne al
mov rcx, qword [rcx]
mov word [rsp + 0x2c], ax
mov word [rsp + 0x2e], dx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x2c]
mov edx, 0xffff
mov r8d, pe_nt_image_headers64
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x140168394
call fcn.1401f5ba0
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x30
pop rsi
ret

Function at 0x1401684d0
Capabilities:
Set socket configuration

Disassembly:
mov edx, edx
jmp 0x1401684d0
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 0x140168504
xor eax, eax
add rsp, 0x38
ret
call fcn.1401f5ba0
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1401686b0
Capabilities:
Set socket configuration

Disassembly:
jmp 0x1401686b0
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 sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1401686e7
xor eax, eax
add rsp, 0x38
ret
call fcn.1401f5ba0
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
Function at 0x140168770
Capabilities:
Set socket configuration

Disassembly:
mov edx, edx
jmp 0x140168770
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 0x1401687a4
xor eax, eax
add rsp, 0x38
ret
call fcn.1401f5ba0
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x140168ed0
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, 3
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x140168f0c
call fcn.1401f5ba0
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x30
pop rsi
ret

Function at 0x140169560
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 sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140169685
mov r9d, dword [rdi + 8]
xor ecx, ecx
mov r8d, 0
cmp r9d, 0x3b9aca00
je 0x1401695e7
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 0x140169628
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 sub.ws2_32.dll_WSAIoctl
cmp eax, 0xffffffff
je 0x140169685
xor eax, eax
jmp 0x140169692
call fcn.1401f5ba0
shl rax, 0x20
or rax, 2
add rsp, 0x58
pop rdi
pop rsi
ret
Function at 0x14016dfb0
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov bpl, 1
cmp qword [rdx + 0x10], 0
jne 0x14016e0e5
mov rdi, r8
mov rsi, rdx
mov r12, rcx
lea rbp, [rdx + 0x10]
lea rdx, [rcx + 0x10]
lea rcx, [rsp + 0x30]
call fcn.14016e380
lea r13, [r12 + 0x38]
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov r8d, 0xffffffff
cmp r14, r8
cmovb r8, r14
mov rcx, qword [r12 + 0x88]
mov qword [rsp + 0x20], r13
mov rdx, rbx
xor r9d, r9d
call sub.KERNEL32.dll_ReadFile
test eax, eax
jne 0x14016e030
call fcn.1401f5ba0
mov r15d, eax
cmp eax, 0x3e5
jne 0x14016e09b
mov dword [rsp + 0x2c], 0
mov rcx, qword [r12 + 0x88]
lea r8, [rsp + 0x2c]
mov rdx, r13
xor r9d, r9d
call sub.KERNEL32.dll_GetOverlappedResult
test eax, eax
jne 0x14016e060
call fcn.1401f5ba0
cmp eax, 0x3e4
jne 0x14016e098
mov rcx, rbp
call fcn.14016d010
mov qword [rsi + 0x10], 1
mov qword [rsi + 0x18], 0
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsi + 0x20], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x30], rax
lock inc qword [r12]
mov bpl, 1
jg 0x14016e0e5
ud2
mov r15d, eax
mov rcx, rbp
cmp r15d, 0x218
setne bpl
je 0x14016e0cf
shl r15, 0x20
or r15, 2
call fcn.14016d010
mov qword [rsi + 0x10], 3
mov qword [rsi + 0x18], r15
mov rcx, rsi
mov rdx, rdi
call fcn.14016ee00
test r14, r14
je 0x14016e0e5
mov r8d, 1
mov rcx, rbx
mov rdx, r14
call fcn.14000ea40
mov eax, ebp
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x14016e100
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x30
mov r14, r9
mov rbx, rdx
mov rdx, qword [r8 + 0x10]
mov rax, rdx
sub rax, r9
jb 0x14016e252
mov rdi, r8
mov rsi, rcx
lea r12, [rbx + 0x60]
mov r15, qword [r8]
lea rdx, [r15 + r14]
mov r8d, 0xffffffff
cmp rax, r8
cmovb r8, rax
mov rcx, qword [rbx + 0x88]
mov qword [rsp + 0x20], r12
xor r9d, r9d
call sub.KERNEL32.dll_WriteFile
test eax, eax
jne 0x14016e16b
call fcn.1401f5ba0
cmp eax, 0x3e5
jne 0x14016e217
mov r13, qword [rsp + 0x90]
mov dword [rsp + 0x2c], 0
mov rcx, qword [rbx + 0x88]
lea r8, [rsp + 0x2c]
mov rdx, r12
xor r9d, r9d
call sub.KERNEL32.dll_GetOverlappedResult
test eax, eax
je 0x14016e1d7
mov r15d, dword [rsp + 0x2c]
lea rcx, [r13 + 0x38]
call fcn.14016d010
mov qword [r13 + 0x38], 2
mov qword [r13 + 0x40], r14
movups xmm0, xmmword [rdi]
movups xmmword [r13 + 0x48], xmm0
mov rax, qword [rdi + 0x10]
mov qword [r13 + 0x58], rax
lock inc qword [rbx]
jle 0x14016e263
mov qword [rsi], 1
mov qword [rsi + 8], r15
jmp 0x14016e241
call fcn.1401f5ba0
cmp eax, 0x3e4
jne 0x14016e217
lea rcx, [r13 + 0x38]
call fcn.14016d010
mov qword [r13 + 0x38], 1
mov qword [r13 + 0x40], r14
movups xmm0, xmmword [rdi]
movups xmmword [r13 + 0x48], xmm0
mov rax, qword [rdi + 0x10]
mov qword [r13 + 0x58], rax
lock inc qword [rbx]
jle 0x14016e263
mov qword [rsi], 0
jmp 0x14016e241
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 2
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x14016e241
mov r8d, 1
mov rcx, r15
call fcn.14000ea40
nop
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._home_admin_.local_share_cargo_registry_src_index.crates.io_6f17d22bba15001f_mio_0.8.10_src_sys_windows_named_pipe.rs
mov rcx, r14
call fcn.14023c140
ud2
ud2

Function at 0x140175970
Capabilities:
Set socket configuration

Disassembly:
jmp 0x1401e2e50
push rsi
sub rsp, 0x30
mov rcx, qword [rcx]
mov eax, dword [rdx]
mov edx, dword [r8]
shl rdx, 0x20
or rdx, rax
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 8
xor esi, esi
lea r9, [rsp + 0x28]
xor edx, edx
mov r8d, 0xc
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x1401e2e99
call sub.ws2_32.dll_WSAGetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x30
pop rsi
ret

Function at 0x140175990
Capabilities:
Set socket configuration

Disassembly:
jmp 0x1401e2f00
push rsi
sub rsp, 0x30
mov rcx, qword [rcx]
mov eax, dword [rdx]
mov edx, dword [r8]
shl rdx, 0x20
or rdx, rax
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 8
xor esi, esi
lea r9, [rsp + 0x28]
xor edx, edx
mov r8d, 0xd
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x1401e2f49
call sub.ws2_32.dll_WSAGetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x30
pop rsi
ret
Function at 0x140175d50
Capabilities:
Set socket configuration

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
mov edi, r8d
mov rsi, rcx
cmp word [rdx], 0
mov eax, 2
mov ebx, 0x17
cmove ebx, eax
mov rax, qword [0x14034c150]
cmp rax, 3
jne 0x140175e00
mov ecx, ebx
mov edx, edi
xor r8d, r8d
call sub.ws2_32.dll_socket
cmp rax, 0xffffffffffffffff
je 0x140175dd4
mov rdi, rax
mov dword [rsp + 0x34], 1
lea r8, [rsp + 0x34]
mov rcx, rax
mov edx, 0x8004667e
call sub.ws2_32.dll_ioctlsocket
test eax, eax
je 0x140175dec
call fcn.1401f5ba0
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov rcx, rdi
call sub.ws2_32.dll_closesocket
mov qword [rsi + 8], rbx
mov eax, 1
jmp 0x140175df2
call fcn.1401f5ba0
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
jmp 0x140175df2
mov qword [rsi + 8], rdi
xor eax, eax
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
mov byte [rsp + 0x33], 1
lea rax, [rsp + 0x33]
mov qword [rsp + 0x38], rax
lea rax, str.8p_
mov qword [rsp + 0x20], rax
lea rcx, [0x14034c150]
lea r9, [0x1402b6f80]
lea r8, [rsp + 0x38]
xor edx, edx
call fcn.140201b10
jmp 0x140175d7f

Function at 0x14017cf30
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rdx
mov rdi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x14017cf60
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14017cf75
cmp byte [rax + 8], 0
je 0x14017cf75
add rax, 9
jmp 0x14017d004
mov rcx, rdi
call fcn.140200490
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14017cf51
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x14017cfed
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14017d002
mov rbx, rax
test rax, rax
jne 0x14017cfca
mov rax, qword [0x14031ef28]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call fcn.14000ea30
test rax, rax
je 0x14017d018
mov rbx, rax
mov qword [rax], rdi
mov byte [rax + 8], 0
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x14017d00c
dec ecx
mov rdx, rbx
call sub.KERNEL32.dll_TlsSetValue
xor ecx, ecx
test rsi, rsi
je 0x14017cfe0
cmp byte [rsi], 0
mov byte [rsi], 0
movzx eax, byte [rsi + 1]
cmove eax, ecx
mov ecx, eax
lea rax, [rbx + 9]
mov byte [rbx + 8], 1
mov byte [rbx + 9], cl
jmp 0x14017d004
mov rcx, rdi
call fcn.140200490
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14017cf89
xor eax, eax
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov rcx, rdi
call fcn.140200490
mov ecx, eax
jmp 0x14017cfc2
mov ecx, 8
mov edx, 0x10
call fcn.140226c80
ud2