joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140069970
Capabilities:
Send data
Send data on socket

Disassembly:
sub rsp, 0x28
cmp r8, 0x7fffffff
mov eax, 0x7fffffff
cmovae r8, rax
call sub.ws2_32.dll_send
cmp eax, 0xffffffff
je 0x140069998
movsxd rdx, eax
xor eax, eax
add rsp, 0x28
ret
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0x28
ret

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

Disassembly:
sub rsp, 0x48
mov dword [rsp + 0x44], 0
mov eax, 0xffffffff
cmp r8, rax
cmovae r8, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], r9d
lea r9, [rsp + 0x44]
call sub.ws2_32.dll_WSASend
cmp eax, 0xffffffff
je 0x1400699ff
mov edx, dword [rsp + 0x44]
xor eax, eax
add rsp, 0x48
ret
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0x48
ret

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

Disassembly:
sub rsp, 0x38
mov eax, dword [rsp + 0x60]
cmp r8, 0x7fffffff
mov r10d, 0x7fffffff
cmovae r8, r10
mov r10d, dword [r9 + 0x80]
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x20], r9
mov r9d, eax
call sub.ws2_32.dll_sendto
cmp eax, 0xffffffff
je 0x140069a61
movsxd rdx, eax
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0x38
ret

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

Disassembly:
sub rsp, 0x58
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x54], 0
mov r10d, 0xffffffff
cmp r8, r10
cmovae r8, r10
mov r10d, dword [r9 + 0x80]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], r10d
mov qword [rsp + 0x28], r9
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x54]
call sub.ws2_32.dll_WSASendTo
cmp eax, 0xffffffff
je 0x140069ad7
mov edx, dword [rsp + 0x54]
xor eax, eax
add rsp, 0x58
ret
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0x58
ret

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

Disassembly:
sub rsp, 0x38
mov dword [rsp + 0x34], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
lea r9, [rsp + 0x34]
call sub.ws2_32.dll_WSASendMsg
cmp eax, 0xffffffff
je 0x140069b1e
mov edx, dword [rsp + 0x34]
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0x38
ret
Function at 0x140069bd0
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov r10d, dword [rsp + 0x60]
xor eax, eax
cmp r10d, 0x3b9aca00
je 0x140069c24
mov esi, 0x3e8
mov rax, r9
mov r11d, edx
mul rsi
mov r9, rdx
mov edx, r11d
mov r10d, r10d
imul r10, r10, 0x431bde83
shr r10, 0x32
add r10, rax
adc r9, 0
mov eax, 0xffffffff
cmp r10, rax
cmovae r10, rax
xor eax, eax
neg r9
sbb eax, eax
or eax, r10d
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x2c]
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140069c47
xor eax, eax
add rsp, 0x30
pop rsi
ret
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
shl rax, 0x20
or rax, 2
add rsp, 0x30
pop rsi
ret

Function at 0x140069f30
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x28
mov dword [rsp + 0x20], 0x14
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140069f4d
xor eax, eax
add rsp, 0x28
ret
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
shl rax, 0x20
or rax, 2
add rsp, 0x28
ret

Function at 0x140069f60
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 0x140069f87
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x140069fa0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
movzx eax, word [rsp + 0x60]
mov word [rsp + 0x34], r9w
mov word [rsp + 0x36], ax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140069fd2
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x140069ff0
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 0x14006a017
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x14006a030
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x28
mov dword [rsp + 0x20], 0xc
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x14006a04d
xor eax, eax
add rsp, 0x28
ret
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
shl rax, 0x20
or rax, 2
add rsp, 0x28
ret

Function at 0x14006a060
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 0x14006a087
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
Function at 0x14006efc0
Capabilities:
Connect pipe

Disassembly:
push rsi
push rdi
sub rsp, 0x28
movabs rdi, 0xd00000003
mov rsi, qword [rcx]
mov al, 1
xchg byte [rsi + 0xb8], al
test al, al
je 0x14006efe4
mov rax, rdi
jmp 0x14006f03e
lea rdx, [rsi + 0x10]
mov rcx, qword [rsi + 0xb0]
call sub.kernel32.dll_ConnectNamedPipe
test eax, eax
jne 0x14006f02a
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov ecx, eax
mov rax, rcx
shl rax, 0x20
or rax, 2
cmp ecx, 0xe8
je 0x14006f022
cmp ecx, 0x3e5
je 0x14006f045
cmp ecx, 0x217
jne 0x14006f055
mov rcx, rax
call fcn.14006ec50
xor eax, eax
xchg byte [rsi + 0xb8], al
mov rcx, rsi
xor edx, edx
call sym.mio::sys::windows::named_pipe::Inner::post_register::h0ee0ebfd218ae604
xor eax, eax
add rsp, 0x28
pop rdi
pop rsi
ret
mov rcx, rax
call fcn.14006ec50
lock inc qword [rsi]
jg 0x14006efdf
ud2
xor ecx, ecx
xchg byte [rsi + 0xb8], cl
jmp 0x14006f03e

Function at 0x1400703f0
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x50
mov bl, 1
cmp qword [rdx + 0x10], 0
jne 0x140070538
mov r12, r8
mov r15, rdx
mov r14, rcx
lea rdx, [rcx + 0x10]
lea rcx, [rsp + 0x38]
call sym.mio::sys::windows::named_pipe::Inner::get_buffer::h996dbc57103966c2
lea r13, [r14 + 0x38]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov r8d, 0xffffffff
cmp rsi, r8
cmovb r8, rsi
mov rcx, qword [r14 + 0xb0]
mov qword [rsp + 0x20], r13
mov rdx, rdi
xor r9d, r9d
call sub.kernel32.dll_ReadFile
test eax, eax
jne 0x140070475
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov rcx, rax
shl rcx, 0x20
or rcx, 2
cmp eax, 0x3e5
jne 0x1400704df
call fcn.14006ec50
mov dword [rsp + 0x34], 0
mov rcx, qword [r14 + 0xb0]
lea r8, [rsp + 0x34]
mov rdx, r13
xor r9d, r9d
call sub.kernel32.dll_GetOverlappedResult
test eax, eax
jne 0x1400704b4
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov rcx, rax
shl rcx, 0x20
or rcx, 2
cmp eax, 0x3e4
jne 0x1400704df
call fcn.14006ec50
mov qword [r15 + 0x10], 1
mov qword [r15 + 0x18], 0
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [r15 + 0x20], xmm0
mov rax, qword [rsp + 0x48]
mov qword [r15 + 0x30], rax
lock inc qword [r14]
jg 0x140070538
ud2
mov eax, ecx
and eax, 3
cmp rax, 2
jb 0x140070506
cmp eax, 2
jne 0x140070506
mov rax, rcx
shr rax, 0x20
cmp eax, 0x218
jne 0x140070506
call fcn.14006ec50
xor ebx, ebx
jmp 0x140070522
mov qword [r15 + 0x10], 3
mov qword [r15 + 0x18], rcx
mov bl, 1
mov rcx, r15
mov rdx, r14
mov r8, r12
call sym.mio::sys::windows::named_pipe::Io::notify_readable::he69f02683c6ad513
test rsi, rsi
je 0x140070538
mov r8d, 1
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
mov eax, ebx
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140070570
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rbx, r9
mov rsi, r8
mov r14, rdx
mov rdx, qword [r8 + 0x10]
mov rax, rdx
sub rax, r9
jb 0x14007073f
mov rdi, rcx
mov r15, qword [rsi + 8]
lea r12, [r14 + 0x60]
lea rdx, [r15 + rbx]
mov r8d, 0xffffffff
cmp rax, r8
cmovb r8, rax
mov rcx, qword [r14 + 0xb0]
mov qword [rsp + 0x20], r12
xor r9d, r9d
call sub.kernel32.dll_WriteFile
test eax, eax
jne 0x1400705ec
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov rcx, rax
shl rcx, 0x20
or rcx, 2
cmp eax, 0x3e5
jne 0x1400706a2
call fcn.14006ec50
mov r13, qword [rsp + 0x90]
mov dword [rsp + 0x2c], 0
mov rcx, qword [r14 + 0xb0]
lea r8, [rsp + 0x2c]
mov rdx, r12
xor r9d, r9d
call sub.kernel32.dll_GetOverlappedResult
test eax, eax
je 0x140070655
mov r15d, dword [rsp + 0x2c]
mov rax, qword [r13 + 0x38]
test rax, rax
je 0x1400706ce
cmp eax, 1
je 0x140070637
cmp eax, 2
jne 0x1400706c5
mov rdx, qword [r13 + 0x48]
test rdx, rdx
je 0x1400706ce
mov rcx, qword [r13 + 0x50]
mov r8d, 1
call sym.__rust_dealloc
jmp 0x1400706ce
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov rcx, rax
shl rcx, 0x20
or rcx, 2
cmp eax, 0x3e4
jne 0x1400706a2
call fcn.14006ec50
mov rax, qword [r13 + 0x38]
test rax, rax
je 0x140070706
cmp eax, 1
je 0x140070688
cmp eax, 2
jne 0x1400706fd
mov rdx, qword [r13 + 0x48]
test rdx, rdx
je 0x140070706
mov rcx, qword [r13 + 0x50]
mov r8d, 1
call sym.__rust_dealloc
jmp 0x140070706
mov qword [rdi + 8], rcx
mov qword [rdi], 2
mov rdx, qword [rsi]
test rdx, rdx
je 0x14007072f
mov r8d, 1
mov rcx, r15
call sym.__rust_dealloc
jmp 0x14007072f
mov rcx, qword [r13 + 0x40]
call fcn.14006ec50
mov qword [r13 + 0x38], 2
mov qword [r13 + 0x40], rbx
movups xmm0, xmmword [rsi]
movups xmmword [r13 + 0x48], xmm0
mov rax, qword [rsi + 0x10]
mov qword [r13 + 0x58], rax
lock inc qword [r14]
jle 0x14007074e
mov qword [rdi], 1
mov qword [rdi + 8], r15
jmp 0x14007072f
mov rcx, qword [r13 + 0x40]
call fcn.14006ec50
mov qword [r13 + 0x38], 1
mov qword [r13 + 0x40], rbx
movups xmm0, xmmword [rsi]
movups xmmword [r13 + 0x48], xmm0
mov rax, qword [rsi + 0x10]
mov qword [r13 + 0x58], rax
lock inc qword [r14]
jle 0x14007074e
mov qword [rdi], 0
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._home_amphet_.cargo_registry_src_index.crates.io_6f17d22bba15001f_mio_1.0.2_src_sys_windows_named_pipe.rs
mov rcx, rbx
call sym.core::slice::index::slice_start_index_len_fail::h8d3d56967d6340e8
ud2
Function at 0x140076dd0
Capabilities:
Enumerate pe sections

Disassembly:
push rsi
sub rsp, 0x40
movzx eax, word [rcx]
cmp eax, 2
je 0x140076df8
mov r8, qword [rcx + 8]
cmp eax, 3
jne 0x140076dfc
mov rcx, rdx
mov edx, 1
add rsp, 0x40
pop rsi
jmp sym.std::sys_common::net::UdpSocket::connect::h045641db31a0bdfb
xor eax, eax
jmp 0x140076e35
mov word [rsp + 0x20], ax
mov eax, dword [rcx + 2]
mov dword [rsp + 0x22], eax
movzx eax, word [rcx + 6]
mov word [rsp + 0x26], ax
mov qword [rsp + 0x28], r8
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x30], xmm0
xor esi, esi
lea r8, [rsp + 0x20]
mov rcx, rdx
xor edx, edx
call sym.std::sys_common::net::UdpSocket::connect::h045641db31a0bdfb
test rax, rax
je 0x140076e43
test rax, rax
lea rsi, str.could_not_resolve_to_any_addresses
cmovne rsi, rax
mov rax, rsi
add rsp, 0x40
pop rsi
ret

Function at 0x1400774a0
Capabilities:
Set socket configuration

Disassembly:
push rsi
push rdi
sub rsp, 0x38
cmp word [rcx], 0
mov eax, 2
mov ecx, 0x17
cmove ecx, eax
mov eax, dword [0x14017a0a8]
cmp eax, 4
jne 0x14007751a
xor r8d, r8d
call sub.ws2_32.dll_socket
cmp rax, 0xffffffffffffffff
je 0x140077560
mov rsi, rax
mov dword [rsp + 0x2c], 1
lea r8, [rsp + 0x2c]
mov rcx, rax
mov edx, 0x8004667e
call sub.ws2_32.dll_ioctlsocket
test eax, eax
je 0x140077516
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov rcx, rsi
call fcn.1401182f4
mov eax, 1
mov rsi, rdi
jmp 0x140077574
xor eax, eax
jmp 0x140077574
mov byte [rsp + 0x2b], 1
lea rax, [rsp + 0x2b]
mov qword [rsp + 0x30], rax
lea rax, [0x14017a0a8]
lea r9, [0x14012a0d8]
lea r8, [rsp + 0x30]
mov esi, ecx
mov rcx, rax
mov edi, edx
xor edx, edx
call sym.std::sys::sync::once::futex::Once::call::hfdb62661099a1a59
mov ecx, esi
mov edx, edi
xor r8d, r8d
call sub.ws2_32.dll_socket
cmp rax, 0xffffffffffffffff
jne 0x1400774d4
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov eax, 1
mov rdx, rsi
add rsp, 0x38
pop rdi
pop rsi
ret

Function at 0x140077680
Capabilities:
Connect socket

Disassembly:
push rsi
sub rsp, 0x40
cmp word [rdx], 0
je 0x1400776ac
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 0x1400776c6
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 + 0x24], r10w
mov word [rsp + 0x26], ax
mov dword [rsp + 0x28], edx
movups xmmword [rsp + 0x2c], xmm0
mov dword [rsp + 0x3c], r9d
mov rcx, qword [rcx]
lea rdx, [rsp + 0x24]
call sub.ws2_32.dll_connect
cmp eax, 0xffffffff
jne 0x140077716
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rcx, rsi
call sym._ZN3std2io5error5Error4kind17h58f73e445c83dc12E.llvm.17277718878302966138
cmp al, 0xd
jne 0x140077718
mov rcx, rsi
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h00989f37ef59300fE.llvm.17277718878302966138
xor esi, esi
mov rax, rsi
add rsp, 0x40
pop rsi
ret
Function at 0x140079790
Capabilities:
Connect socket

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rbx, rdx
mov rsi, rcx
mov rcx, rdx
mov edx, 1
call sym.mio::sys::windows::net::new_ip_socket::hbf67be3d6fad7dc1
mov rdi, rdx
test rax, rax
je 0x1400797c2
mov qword [rsi + 8], rdi
mov qword [rsi], 0xffffffffffffffff
jmp 0x14007985b
cmp word [rbx], 0
je 0x1400797e7
movups xmm0, xmmword [rbx + 4]
movzx eax, word [rbx + 0x1c]
rol ax, 8
mov ecx, dword [rbx + 0x18]
add rbx, 0x14
mov r8d, 0x1c
mov dx, 0x17
jmp 0x140079800
movzx eax, word [rbx + 6]
rol ax, 8
add rbx, 2
xorps xmm0, xmm0
mov r8d, 0x10
mov dx, 2
mov r9d, dword [rbx]
mov word [rsp + 0x24], dx
mov word [rsp + 0x26], ax
mov dword [rsp + 0x28], r9d
movups xmmword [rsp + 0x2c], xmm0
mov dword [rsp + 0x3c], ecx
lea rdx, [rsp + 0x24]
mov rcx, rdi
call sub.ws2_32.dll_connect
cmp eax, 0xffffffff
jne 0x140079850
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov rcx, rbx
call sym._ZN3std2io5error5Error4kind17h58f73e445c83dc12E.llvm.17277718878302966138
cmp al, 0xd
jne 0x140079866
mov rcx, rbx
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h00989f37ef59300fE.llvm.17277718878302966138
mov qword [rsi], rdi
mov qword [rsi + 8], 0
mov rax, rsi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
mov qword [rsi + 8], rbx
mov qword [rsi], 0xffffffffffffffff
mov rcx, rdi
call fcn.1401182f4
jmp 0x14007985b

Function at 0x140079b50
Capabilities:
Enumerate pe sections

Disassembly:
push rsi
sub rsp, 0x40
movzx eax, word [rdx]
cmp eax, 2
je 0x140079b75
mov r8, qword [rdx + 8]
cmp eax, 3
jne 0x140079b79
mov edx, 1
add rsp, 0x40
pop rsi
jmp sym.std::sys_common::net::UdpSocket::connect::h045641db31a0bdfb
xor eax, eax
jmp 0x140079baf
mov word [rsp + 0x20], ax
mov eax, dword [rdx + 2]
mov dword [rsp + 0x22], eax
movzx eax, word [rdx + 6]
mov word [rsp + 0x26], ax
mov qword [rsp + 0x28], r8
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x30], xmm0
xor esi, esi
lea r8, [rsp + 0x20]
xor edx, edx
call sym.std::sys_common::net::UdpSocket::connect::h045641db31a0bdfb
test rax, rax
je 0x140079bbd
test rax, rax
lea rsi, str.could_not_resolve_to_any_addresses
cmovne rsi, rax
mov rax, rsi
add rsp, 0x40
pop rsi
ret

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

Disassembly:
mov rcx, qword [0x14011b430]
xor edx, edx
jmp sym.std::sys::thread_local::os::Storage_T_::get::h72d34a047d40c323

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

Disassembly:
mov rcx, qword [0x14011b430]
xor edx, edx
jmp sym.std::sys::thread_local::os::Storage_T_::get::h72d34a047d40c323

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

Disassembly:
mov rcx, qword [0x14011b430]
xor edx, edx
jmp sym.std::sys::thread_local::os::Storage_T_::get::h72d34a047d40c323
Function at 0x14007f680
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov edi, dword [rcx]
mov edx, 1
mov ecx, edi
call fcn.1401186ec
mov edx, 8
mov r8d, 4
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, edi
xor edx, edx
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.1401186ec

Function at 0x14007f6c0
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 0x14007f807
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x14007f7fc
je 0x14007f7fa
test rdi, rdi
je 0x14007f727
mov rax, qword [rdi]
mov qword [rdi], 0
test rax, rax
je 0x14007f727
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 0x14007f731
lea rcx, [rsp + 0x28]
call sym.parking_lot_core::parking_lot::ThreadData::new::he996d680672ac43a
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 [0x140151198]
movzx eax, byte [rax]
mov ecx, 0x40
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14007f821
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 sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call fcn.1401186ec
test rdi, rdi
je 0x14007f7f5
mov rcx, rdi
call sym.__parking_lot_core::parking_lot::ThreadData_as_core::ops::drop::Drop_::drop::h4dea35cdb02f38e4
mov edx, 0x40
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov rax, rsi
jmp 0x14007f7fc
xor eax, eax
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
ret
call sym.std::sys::thread_local::key::windows::LazyKey::init::h597144e332ffcf99
mov esi, eax
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14007f6eb
jmp 0x14007f7fc
mov ecx, 8
mov edx, 0x40
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
ud2
Function at 0x14007f9b0
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 [0x14011b400]
test esi, esi
je 0x14007f9d8
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14007f9f3
add rax, 4
jmp 0x14007fa56
lea rcx, sym.std::sys::thread_local::os::destroy_value::ha753b64af06268db
call sym.std::sys::thread_local::key::windows::LazyKey::init::h597144e332ffcf99
mov esi, eax
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x14007f9d2
je 0x14007fa54
mov rax, qword [0x140151198]
movzx eax, byte [rax]
mov ecx, 8
mov edx, 4
call sym.__rust_alloc
test rax, rax
je 0x14007fa60
mov rbx, rax
mov dword [rax], esi
add rax, 4
mov r14, rax
mov byte [rbx + 4], 0
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rdx, rbx
call fcn.1401186ec
test rdi, rdi
je 0x14007fa4f
mov edx, 8
mov r8d, 4
mov rcx, rdi
call sym.__rust_dealloc
mov rax, r14
jmp 0x14007fa56
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::h526f0ddc898dc940
int3

Function at 0x1400801b0
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 fcn.1401186ec
lock dec qword [0x14017a0b0]
mov edx, 0x40
mov r8d, 8
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, edi
xor edx, edx
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.1401186ec
Function at 0x140080cd0
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 0x140080d22
mov rsi, rax
lea rdx, str.WaitOnAddress
mov rcx, rax
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140080d22
mov rdi, rax
lea rdx, str.WakeByAddressSingle
mov rcx, rsi
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140080d22
mov rbx, rax
xor esi, esi
jmp 0x140080da6
lea rcx, str.ntdll.dll
call sub.kernel32.dll_GetModuleHandleA
test rax, rax
je 0x140080e18
mov rdi, rax
lea rdx, str.NtCreateKeyedEvent
mov rcx, rax
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140080e18
mov rbx, rax
lea rdx, str.NtReleaseKeyedEvent
mov rcx, rdi
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140080e18
mov rsi, rax
lea rdx, str.NtWaitForKeyedEvent
mov rcx, rdi
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140080e18
mov rdi, rax
lea rcx, [rsp + 0x28]
mov edx, 0xc0000000
xor r8d, r8d
xor r9d, r9d
call rbx
test eax, eax
jne 0x140080e18
mov rbx, qword [rsp + 0x28]
mov rax, qword [0x140151198]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140080e4f
mov r14, rax
mov qword [rax], rsi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rbx
xor eax, eax
lock cmpxchg qword [0x14017a0c0], r14
je 0x140080e0b
mov rsi, rax
cmp qword [r14], 0
je 0x140080df5
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_amphet_.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::h50bba86df16ca19f
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
ud2