joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400d9b10
Capabilities:
Set socket configuration

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

Function at 0x1400d9c10
Capabilities:
Set socket configuration

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

Function at 0x1400d9d10
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, 0xa
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x1400d9d4c
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x30
pop rsi
ret

Function at 0x1400d9e10
Capabilities:
Set socket configuration

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

Function at 0x1400d9f10
Capabilities:
Set socket configuration

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

Function at 0x1400da010
Capabilities:
Set socket configuration

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

Function at 0x1400da080
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0x29
mov r8d, 9
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400da0b4
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
Function at 0x1400da180
Capabilities:
Set socket configuration

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

Function at 0x1400da1d0
Capabilities:
Set socket configuration

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

Function at 0x1400da2d0
Capabilities:
Set socket configuration

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

Function at 0x1400da3d0
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov eax, dword [rdx]
bswap eax
movzx edx, byte [r8 + 1]
movzx r9d, byte [r8 + 2]
movzx r10d, byte [r8 + 3]
movzx r8d, byte [r8]
shl r8d, 0x18
shl edx, 0x10
or edx, r8d
shl r9d, 8
shl rax, 0x20
or rax, rdx
or rax, r9
or rax, r10
bswap rax
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rax
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 0x1400da442
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x30
pop rsi
ret

Function at 0x1400da450
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x40
movzx ebx, word [rdx]
movzx eax, word [rdx + 2]
rol bx, 8
mov byte [rsp + 0x2c], bh
mov byte [rsp + 0x2d], bl
movzx ebx, word [rdx + 4]
rol ax, 8
mov byte [rsp + 0x2e], ah
mov byte [rsp + 0x2f], al
movzx eax, word [rdx + 6]
rol bx, 8
rol ax, 8
mov byte [rsp + 0x30], bh
mov byte [rsp + 0x31], bl
movzx ebx, word [rdx + 8]
rol bx, 8
mov byte [rsp + 0x32], ah
mov byte [rsp + 0x33], al
mov byte [rsp + 0x34], bh
mov byte [rsp + 0x35], bl
movzx eax, word [rdx + 0xa]
rol ax, 8
mov byte [rsp + 0x36], ah
mov byte [rsp + 0x37], al
movzx eax, word [rdx + 0xc]
rol ax, 8
mov byte [rsp + 0x38], ah
mov byte [rsp + 0x39], al
movzx eax, word [rdx + 0xe]
rol ax, 8
mov byte [rsp + 0x3a], ah
mov byte [rsp + 0x3b], al
mov dword [rsp + 0x3c], r8d
mov rcx, qword [rcx]
mov dword [rsp + 0x20], 0x14
lea r9, [rsp + 0x2c]
mov edx, 0x29
mov r8d, 0xc
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400da506
xor eax, eax
add rsp, 0x40
pop rbx
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x40
pop rbx
ret
Function at 0x1400da520
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov eax, dword [rdx]
bswap eax
movzx edx, byte [r8 + 1]
movzx r9d, byte [r8 + 2]
movzx r10d, byte [r8 + 3]
movzx r8d, byte [r8]
shl r8d, 0x18
shl edx, 0x10
or edx, r8d
shl r9d, 8
shl rax, 0x20
or rax, rdx
or rax, r9
or rax, r10
bswap rax
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rax
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 0x1400da592
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x30
pop rsi
ret

Function at 0x1400da5a0
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x40
movzx ebx, word [rdx]
movzx eax, word [rdx + 2]
rol bx, 8
mov byte [rsp + 0x2c], bh
mov byte [rsp + 0x2d], bl
movzx ebx, word [rdx + 4]
rol ax, 8
mov byte [rsp + 0x2e], ah
mov byte [rsp + 0x2f], al
movzx eax, word [rdx + 6]
rol bx, 8
rol ax, 8
mov byte [rsp + 0x30], bh
mov byte [rsp + 0x31], bl
movzx ebx, word [rdx + 8]
rol bx, 8
mov byte [rsp + 0x32], ah
mov byte [rsp + 0x33], al
mov byte [rsp + 0x34], bh
mov byte [rsp + 0x35], bl
movzx eax, word [rdx + 0xa]
rol ax, 8
mov byte [rsp + 0x36], ah
mov byte [rsp + 0x37], al
movzx eax, word [rdx + 0xc]
rol ax, 8
mov byte [rsp + 0x38], ah
mov byte [rsp + 0x39], al
movzx eax, word [rdx + 0xe]
rol ax, 8
mov byte [rsp + 0x3a], ah
mov byte [rsp + 0x3b], al
mov dword [rsp + 0x3c], r8d
mov rcx, qword [rcx]
mov dword [rsp + 0x20], 0x14
lea r9, [rsp + 0x2c]
mov edx, 0x29
mov r8d, 0xd
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400da656
xor eax, eax
add rsp, 0x40
pop rbx
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x40
pop rbx
ret

Function at 0x1400da670
Capabilities:
Set socket configuration

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

Function at 0x1400da780
Capabilities:
Set socket configuration

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

Disassembly:
sub rsp, 0x38
xor eax, eax
cmp r8d, 0x3b9aca00
je 0x1400da8b5
imul edx, edx, 0x3e8
mov eax, r8d
imul rax, rax, 0x431bde83
shr rax, 0x32
add eax, edx
mov rcx, qword [rcx]
mov dword [rsp + 0x34], eax
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 0x1400da8e5
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

Function at 0x1400da9d0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
xor eax, eax
cmp r8d, 0x3b9aca00
je 0x1400da9f5
imul edx, edx, 0x3e8
mov eax, r8d
imul rax, rax, 0x431bde83
shr rax, 0x32
add eax, edx
mov rcx, qword [rcx]
mov dword [rsp + 0x34], eax
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 0x1400daa25
xor eax, eax
add rsp, 0x38
ret
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

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

Disassembly:
push rsi
sub rsp, 0x20
cmp r8, 0x7fffffff
mov eax, 0x7fffffff
cmovae r8, rax
mov rcx, qword [rcx]
xor r9d, r9d
call sub.ws2_32.dll_send
mov esi, eax
cmp esi, 0xffffffff
jne 0x1400dabf4
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
xor ecx, ecx
cmp esi, 0xffffffff
sete cl
movsxd rdx, esi
cmove rdx, rax
mov rax, rcx
add rsp, 0x20
pop rsi
ret

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

Disassembly:
push rsi
sub rsp, 0x20
cmp r8, 0x7fffffff
mov eax, 0x7fffffff
cmovae r8, rax
mov rcx, qword [rcx]
xor r9d, r9d
call sub.ws2_32.dll_recv
mov esi, eax
cmp esi, 0xffffffff
jne 0x1400dac44
call sym.std::sys::pal::windows::os::errno::hc06bcad6d4b64348
shl rax, 0x20
or rax, 2
xor ecx, ecx
cmp esi, 0xffffffff
sete cl
movsxd rdx, esi
cmove rdx, rax
mov rax, rcx
add rsp, 0x20
pop rsi
ret

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

Function at 0x1400dc240
Capabilities:
Get thread local storage value

Disassembly:
push rbp
mov rbp, rsp
mov rcx, rdx
pop rbp
jmp sym.std::panicking::default_hook::h99a680b11069a2af

Function at 0x1400dc250
Capabilities:
Get thread local storage value

Disassembly:
push rbp
mov rbp, rsp
mov rcx, rdx
pop rbp
jmp sym.std::panicking::default_hook::h99a680b11069a2af

Function at 0x1400dc340
Capabilities:
Get thread local storage value

Disassembly:
push rbp
mov rbp, rsp
mov rcx, rdx
pop rbp
jmp sym.std::panicking::default_hook::h99a680b11069a2af
Function at 0x1400dc3e0
Capabilities:
Initialize winsock library

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x1f0
lea rbp, [rsp + 0x80]
mov rax, qword [rcx]
mov rdi, qword [rax]
mov qword [rax], 0
test rdi, rdi
je 0x1400dc443
lea rsi, [rbp - 0x60]
mov r8d, 0x198
mov rcx, rsi
xor edx, edx
call fcn.1401745c0
mov cx, 0x202
mov rdx, rsi
call sub.ws2_32.dll_WSAStartup
mov dword [rbp + 0x16c], eax
test eax, eax
jne 0x1400dc44f
lea rax, [0x140173d90]
mov qword [rdi], rax
add rsp, 0x1f0
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.std_src_synconce.rs
call sym.core::option::unwrap_failed::h9508d322d744588d
mov qword [rbp + 0x138], 0
lea rdx, [0x140198c28]
lea r9, str.std_src_syspalwindows_net.rs
lea rcx, [rbp + 0x16c]
lea r8, [rbp + 0x138]
call sym.core::panicking::assert_failed::he2381c55c73c196a
int3
Function at 0x1400fd250
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov rsi, rdx
mov rdi, rcx
lea rdx, [sym.std::sys::pal::windows::stack_overflow::vectored_handler::h5866287f8b15f79c]
xor ecx, ecx
call sub.KERNEL32.dll_AddVectoredExceptionHandler
mov dword [rbp - 0x28], 0x5000
lea rcx, [rbp - 0x28]
call sub.KERNEL32.dll_SetThreadStackGuarantee
call sub.KERNEL32.dll_GetCurrentThread
mov r8, qword [sym.std::sys::pal::windows::c::SetThreadDescription::load::h7e35d2b7a7d7352f]
lea rdx, [0x140199728]
mov rcx, rax
call r8
mov ecx, dword [0x1401ea238]
test ecx, ecx
je 0x1400fd2bc
dec ecx
call fcn.140173a38
test rax, rax
jne 0x1400fd2d9
jmp 0x1400fd2d4
lea rcx, [0x1401ea220]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
call fcn.140173a38
test rax, rax
jne 0x1400fd2d9
call sym.std::thread::current::id::get_or_init::__u7b__u7b_closure_u7d__u7d_::hedc11dbc19db473f
mov rbx, rax
mov ecx, 8
mov edx, 0x28
call sym.alloc::sync::arcinner_layout_for_value_layout::he453f3fcac016438
mov r15, rax
mov r14, rdx
test rdx, rdx
je 0x1400fd39c
mov rax, qword [0x1401b5f98]
movzx eax, byte [rax]
mov rcx, r14
mov rdx, r15
call sym.__rust_alloc
mov rcx, rax
test rcx, rcx
je 0x1400fd3a8
mov qword [rcx], 1
mov qword [rcx + 8], 1
mov qword [rcx + 0x10], 0
mov qword [rcx + 0x28], rbx
mov byte [rcx + 0x30], 0
call sym.std::thread::current::set_current::h14272f61d2aafa39
test rax, rax
jne 0x1400fd3b5
mov rcx, rdi
call qword [rsi + 0x28]
movsxd rsi, eax
mov eax, dword [0x1401ea0f0]
cmp eax, 3
je 0x1400fd389
mov byte [rbp + 8], 1
lea rax, [rbp + 8]
mov qword [rbp - 0x58], rax
lea rax, str.std_src_rt.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1401ea0f0]
lea r9, [0x1401976d8]
lea r8, [rbp - 0x58]
xor edx, edx
call sym.std::sys::sync::once::futex::Once::call::h9be6496a9c177bd4
mov rax, rsi
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov rcx, r15
test rcx, rcx
jne 0x1400fd31b
mov rcx, r15
mov rdx, r14
call sym.alloc::alloc::handle_alloc_error::h5b2832badfdb0979
ud2
mov rdi, rax
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x10], 0
mov byte [rbp + 0x14], 0
lea rax, str.fatal_runtime_error:_code_running_before_main_must_not_use_thread::current_n
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], 1
lea rax, [rbp + 0x30]
mov qword [rbp - 0x18], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
lea rcx, [rbp + 0x10]
lea rdx, [rbp - 0x28]
call sym.std::io::Write::write_fmt::hdd05168affbfeba5
mov qword [rbp + 0x28], rax
lea rcx, [rbp + 0x28]
call sym.core::ptr::drop_in_place_core::result::Result____std::io::error::Error__::h3945ec9a027a2ad9
mov ecx, 7
int 0x29
ud2
Function at 0x1400fd710
Capabilities:
Set thread local storage value

Disassembly:
push rbp
push rsi
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov rax, qword [0x1401ea1e0]
nop word cs:[rax + rax]
cmp rax, 0xffffffffffffffff
je 0x1400fd773
lea rsi, [rax + 1]
lock cmpxchg qword [0x1401ea1e0], rsi
jne 0x1400fd730
mov ecx, dword [0x1401ea238]
test ecx, ecx
je 0x1400fd763
dec ecx
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
mov rax, rsi
add rsp, 0x28
pop rsi
pop rbp
ret
lea rcx, [0x1401ea220]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
jmp 0x1400fd751
call sym.std::thread::ThreadId::new::exhausted::h4e18251196441a10
int3

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

Disassembly:
push rbp
push rsi
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], rcx
mov ecx, dword [0x1401ea258]
test ecx, ecx
je 0x1400fd7ae
dec ecx
call fcn.140173a38
test rax, rax
je 0x1400fd7c6
mov rax, qword [rbp]
jmp 0x1400fd854
lea rcx, [0x1401ea240]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
call fcn.140173a38
test rax, rax
jne 0x1400fd7a5
mov ecx, dword [0x1401ea238]
test ecx, ecx
je 0x1400fd7eb
dec ecx
call fcn.140173a38
test rax, rax
je 0x1400fd803
mov rcx, rax
mov rax, qword [rbp]
cmp qword [rax + 0x28], rcx
je 0x1400fd833
jmp 0x1400fd854
lea rcx, [0x1401ea220]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
call fcn.140173a38
test rax, rax
jne 0x1400fd7dc
mov rax, qword [rbp]
mov rsi, qword [rax + 0x28]
mov ecx, dword [0x1401ea238]
test ecx, ecx
je 0x1400fd819
dec ecx
jmp 0x1400fd827
lea rcx, [0x1401ea220]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
mov rax, qword [rbp]
mov rcx, qword [sym.std::sys::thread_local::guard::windows::tls_callback::hbe91730530c6bb12]
add rax, 0x10
mov ecx, dword [0x1401ea258]
test ecx, ecx
je 0x1400fd85b
dec ecx
mov rdx, rax
call sub.KERNEL32.dll_TlsSetValue
xor eax, eax
add rsp, 0x28
pop rsi
pop rbp
ret
lea rcx, [0x1401ea240]
mov rsi, rax
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
mov rax, rsi
jmp 0x1400fd84a

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

Disassembly:
push rbp
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov ecx, dword [0x1401ea258]
test ecx, ecx
je 0x1400fd8c2
dec ecx
call fcn.140173a38
cmp rax, 2
jbe 0x1400fd8db
lock inc qword [rax - 0x10]
jle 0x1400fd8e8
add rax, 0xfffffffffffffff0
add rsp, 0x20
pop rbp
ret
lea rcx, [0x1401ea240]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
call fcn.140173a38
cmp rax, 2
ja 0x1400fd8b1
mov rcx, rax
add rsp, 0x20
pop rbp
jmp sym.std::thread::current::init_current::h94edbd5403e72943
ud2
Function at 0x1400fd8f0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
lea rbp, [rsp + 0x70]
test rcx, rcx
jne 0x1400fda37
mov ecx, dword [0x1401ea258]
test ecx, ecx
je 0x1400fd9f8
dec ecx
mov edx, 1
call sub.KERNEL32.dll_TlsSetValue
mov ecx, dword [0x1401ea238]
test ecx, ecx
je 0x1400fda0b
dec ecx
call fcn.140173a38
mov rdi, rax
test rax, rax
je 0x1400fda2a
mov ecx, 8
mov edx, 0x28
call sym.alloc::sync::arcinner_layout_for_value_layout::he453f3fcac016438
mov r14, rax
mov rbx, rdx
test rdx, rdx
je 0x1400fd9bc
mov rax, qword [0x1401b5f98]
movzx eax, byte [rax]
mov rcx, rbx
mov rdx, r14
call sym.__rust_alloc
mov rsi, rax
test rsi, rsi
je 0x1400fd9c4
mov qword [rsi], 1
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], 2
mov qword [rsi + 0x28], rdi
mov byte [rsi + 0x30], 0
mov qword [rbp - 0x40], rsi
mov rax, qword [sym.std::sys::thread_local::guard::windows::tls_callback::hbe91730530c6bb12]
lock inc qword [rsi]
jle 0x1400fda6f
mov ecx, dword [0x1401ea258]
test ecx, ecx
je 0x1400fd9cf
dec ecx
jmp 0x1400fd9dd
mov rsi, r14
test rsi, rsi
jne 0x1400fd97a
mov rcx, r14
mov rdx, rbx
call sym.alloc::alloc::handle_alloc_error::h5b2832badfdb0979
lea rcx, [0x1401ea240]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
add rsi, 0x10
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
mov rax, qword [rbp - 0x40]
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [0x1401ea240]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
jmp 0x1400fd918
lea rcx, [0x1401ea220]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
call fcn.140173a38
mov rdi, rax
test rax, rax
jne 0x1400fd943
call sym.std::thread::current::id::get_or_init::__u7b__u7b_closure_u7d__u7d_::hedc11dbc19db473f
mov rdi, rax
jmp 0x1400fd943
cmp rcx, 1
je 0x1400fda71
lea rax, [0x140195c00]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], 1
mov qword [rbp - 0x30], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
lea rdx, str.std_src_threadcurrent.rs
lea rcx, [rbp - 0x40]
call sym.core::panicking::panic_fmt::h1e8d60614cf06a53
ud2
mov dword [rbp - 0x10], 0
mov byte [rbp - 0xc], 0
lea rax, str.fatal_runtime_error:__n_n____________Attempted_to_access_thread_local_data_while_allocating_said_data._n_n____________Do_not_access_functions_that_allocate_in_the_global_allocator__n_n____________This_is_a_bug_in_the_global_allocator._n_n_________n
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], 1
lea rax, [rbp - 8]
mov qword [rbp - 0x30], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
lea rcx, [rbp - 0x10]
lea rdx, [rbp - 0x40]
call sym.std::io::Write::write_fmt::hdd05168affbfeba5
mov qword [rbp - 0x48], rax
lea rcx, [rbp - 0x48]
call sym.core::ptr::drop_in_place_core::result::Result____std::io::error::Error__::h3945ec9a027a2ad9
mov ecx, 7
int 0x29
ud2
Function at 0x1400fddb0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov ecx, dword [0x1401ea258]
test ecx, ecx
je 0x1400fddf2
dec ecx
call fcn.140173a38
mov rsi, rax
cmp rax, 2
jbe 0x1400fde0e
lock inc qword [rsi - 0x10]
jle 0x1400fde84
add rsi, 0xfffffffffffffff0
mov qword [rbp - 8], rsi
lock dec byte [rsi + 0x30]
je 0x1400fde23
jmp 0x1400fde40
lea rcx, [0x1401ea240]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
call fcn.140173a38
mov rsi, rax
cmp rax, 2
ja 0x1400fddd7
mov rcx, rsi
call sym.std::thread::current::init_current::h94edbd5403e72943
mov rsi, rax
mov qword [rbp - 8], rsi
lock dec byte [rsi + 0x30]
jne 0x1400fde40
mov rax, qword [rbp - 8]
lock dec qword [rax]
jne 0x1400fde36
lea rcx, [rbp - 8]
call sym.alloc::sync::Arc_T_A_::drop_slow::hfbd468a8117a8eec
nop
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop rbp
ret
add rsi, 0x30
lea rdi, [rbp + 7]
xor ebx, ebx
jmp 0x1400fde58
mov al, 1
lock cmpxchg byte [rsi], bl
je 0x1400fde23
mov byte [rbp + 7], 0xff
mov r8d, 1
mov rcx, rsi
mov rdx, rdi
mov r9d, 0xffffffff
call sub.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress
cmp eax, 1
je 0x1400fde50
call sub.KERNEL32.dll_GetLastError
jmp 0x1400fde50
ud2

Function at 0x1400fde90
Capabilities:
Get thread local storage value

Disassembly:
push rbp
mov rbp, rsp
mov eax, ecx
imul rax, rax, 0x10624dd3
shr rax, 0x26
imul edx, eax, 0x3e8
sub ecx, edx
imul edx, ecx, 0xf4240
mov rcx, rax
pop rbp
jmp sym.std::thread::park_timeout::h7767adaacbe117d5

Function at 0x1400fdec0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov edi, edx
mov rbx, rcx
mov ecx, dword [0x1401ea258]
test ecx, ecx
je 0x1400fdf0a
dec ecx
call fcn.140173a38
mov rsi, rax
cmp rax, 2
jbe 0x1400fdf26
lock inc qword [rsi - 0x10]
jle 0x1400fdfc9
add rsi, 0xfffffffffffffff0
mov qword [rbp - 8], rsi
lock dec byte [rsi + 0x30]
jne 0x1400fdf3b
jmp 0x1400fdfa7
lea rcx, [0x1401ea240]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
call fcn.140173a38
mov rsi, rax
cmp rax, 2
ja 0x1400fdeec
mov rcx, rsi
call sym.std::thread::current::init_current::h94edbd5403e72943
mov rsi, rax
mov qword [rbp - 8], rsi
lock dec byte [rsi + 0x30]
je 0x1400fdfa7
add rsi, 0x30
mov byte [rbp + 7], 0xff
mov ecx, 0x3e8
mov rax, rbx
mul rcx
mov r9d, 0xffffffff
jo 0x1400fdf87
mov ecx, edi
imul rcx, rcx, 0x431bde83
shr rcx, 0x32
add rax, rcx
jb 0x1400fdf87
imul ecx, ecx, 0xf4240
xor edx, edx
sub edi, ecx
setne dl
add rax, rdx
jb 0x1400fdf87
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
lea rdx, [rbp + 7]
mov r8d, 1
mov rcx, rsi
call sub.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress
cmp eax, 1
je 0x1400fdfa3
call sub.KERNEL32.dll_GetLastError
xor eax, eax
xchg byte [rsi], al
mov rax, qword [rbp - 8]
lock dec qword [rax]
jne 0x1400fdfba
lea rcx, [rbp - 8]
call sym.alloc::sync::Arc_T_A_::drop_slow::hfbd468a8117a8eec
nop
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop rbp
ret
ud2