joyce8/EMBER2024-capa huggingface dataset:
Function at 0x5f9c40
Capabilities:
Resolve dns

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov r14, r8
inc r14
sete r13b
je 0x5f9e63
js 0x5f9e6f
mov rdi, r9
mov rbx, r8
mov r15, rdx
mov rsi, rcx
movzx eax, byte [0x0083c308]
xor ecx, ecx
mov rdx, r14
call sym.std::sys::pal::windows::alloc::process_heap_alloc::h5a8f05db6a24897c
test rax, rax
je 0x5f9e74
mov r12, rax
mov rcx, rax
mov rdx, r15
mov r8, rbx
call sym.memcpy
cmp rbx, 0x10
jae 0x5f9cd8
test rbx, rbx
je 0x5f9d7f
xor eax, eax
nop word cs:[rax + rax]
cmp byte [r15 + rax], 0
je 0x5f9de5
inc rax
cmp rbx, rax
jne 0x5f9cc0
jmp 0x5f9d7f
lea rax, [r15 + 7]
and rax, 0xfffffffffffffff8
sub rax, r15
jne 0x5f9d30
lea rcx, [rbx - 0x10]
xor eax, eax
movdqa xmm0, xmmword [0x00727e80]
movabs rdx, 0x8080808080808080
nop dword [rax]
movdqu xmm1, xmmword [r15 + rax]
movdqa xmm2, xmm1
paddq xmm2, xmm0
pandn xmm1, xmm2
pshufd xmm2, xmm1, 0xee
por xmm2, xmm1
movq r8, xmm2
test r8, rdx
jne 0x5f9d5c
add rax, 0x10
cmp rax, rcx
jbe 0x5f9d00
jmp 0x5f9d5c
cmp rax, rbx
cmovae rax, rbx
xor ecx, ecx
nop dword [rax]
cmp byte [r15 + rcx], 0
je 0x5f9de5
inc rcx
cmp rax, rcx
jne 0x5f9d40
lea rcx, [rbx - 0x10]
cmp rax, rcx
jbe 0x5f9ceb
cmp rax, rbx
je 0x5f9d7f
nop word cs:[rax + rax]
cmp byte [r15 + rax], 0
je 0x5f9de5
inc rax
cmp rbx, rax
jne 0x5f9d70
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], rbx
lea rcx, [rbp - 0x30]
call sym.alloc::ffi::c_str::CString::_from_vec_unchecked::h742fc777c3f04a4f
mov rbx, rax
mov r14, rdx
pxor xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x28], 1
mov qword [rbp], 0
lea r8, [rbp - 0x30]
mov r9, rbp
mov rcx, rax
xor edx, edx
call sub.ws2_32.dll_getaddrinfo
test eax, eax
je 0x5f9e1d
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x5f9e31
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
test r13b, r13b
jne 0x5f9e51
mov rcx, qword [0x0083c108]
xor edx, edx
mov r8, r12
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.006f5b74
mov rcx, qword [rdi]
mov rax, qword [rbp]
movzx ecx, word [rcx]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
mov byte [rbx], 0
test r14, r14
je 0x5f9e51
mov rcx, qword [0x0083c108]
xor edx, edx
mov r8, rbx
call fcn.006f5b74
nop
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, str.library_alloc_src_ffic_str.rs
call sym.core::option::unwrap_failed::hec1ab125882a5e1e
call sym.alloc::raw_vec::capacity_overflow::h29d4877d33cf78a3
mov ecx, 1
mov rdx, r14
call sym.alloc::raw_vec::handle_error::h5313441c9bd13595
int3
Function at 0x5f9e90
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 0x5f9ef3
lea rsi, [rbp - 0x60]
mov r8d, 0x198
mov rcx, rsi
xor edx, edx
call fcn.006f6398
mov cx, 0x202
mov rdx, rsi
call sub.ws2_32.dll_WSAStartup
mov dword [rbp + 0x16c], eax
test eax, eax
jne 0x5f9eff
lea rax, [0x006f5944]
mov qword [rdi], rax
add rsp, 0x1f0
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.library_std_src_synconce.rs
call sym.core::option::unwrap_failed::hec1ab125882a5e1e
mov qword [rbp + 0x138], 0
lea rdx, [0x007b13a8]
lea r9, [0x007b13b0]
lea rcx, [rbp + 0x16c]
lea r8, [rbp + 0x138]
call sym.core::panicking::assert_failed::h8a98e51c055d6f66
int3

Function at 0x5f9f30
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 0x5f9f93
lea rsi, [rbp - 0x60]
mov r8d, 0x198
mov rcx, rsi
xor edx, edx
call fcn.006f6398
mov cx, 0x202
mov rdx, rsi
call sub.ws2_32.dll_WSAStartup
mov dword [rbp + 0x16c], eax
test eax, eax
jne 0x5f9f9f
lea rax, [0x006f5944]
mov qword [rdi], rax
add rsp, 0x1f0
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.library_std_src_synconce.rs
call sym.core::option::unwrap_failed::hec1ab125882a5e1e
mov qword [rbp + 0x138], 0
lea rdx, [0x007b13a8]
lea r9, [0x007b13b0]
lea rcx, [rbp + 0x16c]
lea r8, [rbp + 0x138]
call sym.core::panicking::assert_failed::h8a98e51c055d6f66
int3
Function at 0x5fad40
Capabilities:
Create thread

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov rdi, r8
mov r14, rdx
mov rbx, rcx
movzx eax, byte [0x0083c308]
mov edx, 0x10
xor ecx, ecx
call sym.std::sys::pal::windows::alloc::process_heap_alloc::h5a8f05db6a24897c
test rax, rax
je 0x5fae17
mov rsi, rax
mov qword [rax], r14
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [sym.std::sys::pal::windows::thread::Thread::new::thread_start::hefabc2546a0319c1]
xor edi, edi
xor ecx, ecx
mov rdx, rbx
mov r9, rax
call sub.kernel32.dll_CreateThread
mov rdx, rax
test rax, rax
jne 0x5fae09
mov rdi, qword [rsi]
mov r14, qword [rsi + 8]
mov rax, qword [r14]
test rax, rax
je 0x5fadc1
mov rcx, rdi
call rax
cmp qword [r14 + 8], 0
je 0x5fade4
cmp qword [r14 + 0x10], 0x11
jb 0x5fadd3
mov rdi, qword [rdi - 8]
mov rcx, qword [0x0083c108]
xor edx, edx
mov r8, rdi
call fcn.006f5b74
mov rcx, qword [0x0083c108]
xor edx, edx
mov r8, rsi
call fcn.006f5b74
call sub.kernel32.dll_GetLastError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov edi, 1
mov rax, rdi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h033f15fcf3b32b44
ud2

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

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov ecx, dword [0x0071b178]
test ecx, ecx
je 0x5fb59d
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x5fb5b6
add rax, 8
jmp 0x5fb631
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h11c5ff2709c8df73
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x5fb594
je 0x5fb62f
movzx eax, byte [0x0083c308]
mov edx, 0x10
xor ecx, ecx
call sym.std::sys::pal::windows::alloc::process_heap_alloc::h5a8f05db6a24897c
test rax, rax
je 0x5fb65a
mov rbx, rax
mov rsi, rax
lea rax, sym.std::sys::thread_local::os_local::destroy_value::h11c5ff2709c8df73
mov qword [rsi], rax
mov byte [rsi + 8], 0
mov ecx, dword [0x0071b178]
test ecx, ecx
je 0x5fb63a
dec ecx
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, dword [0x0071b178]
test ecx, ecx
je 0x5fb64a
dec ecx
add rbx, 8
mov rdx, rsi
call fcn.006f5c64
test rdi, rdi
je 0x5fb62a
mov rcx, qword [0x0083c108]
xor edx, edx
mov r8, rdi
call fcn.006f5b74
mov rax, rbx
jmp 0x5fb631
xor eax, eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h11c5ff2709c8df73
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x5fb5f4
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h11c5ff2709c8df73
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x5fb608
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h033f15fcf3b32b44
int3
Function at 0x5feb10
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov eax, 1
test rcx, rcx
jne 0x5fec94
mov rax, qword [0x0083c110]
cmp rax, 3
jne 0x5fec9f
mov r14, rdx
cmp word [rdx], 0
mov eax, 2
mov edi, 0x17
cmove edi, eax
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
mov ecx, edi
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call sub.ws2_32.dll_WSASocketW
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x5febaa
cmp word [r14], 0
je 0x5fec1b
movups xmm0, xmmword [r14 + 4]
mov eax, dword [r14 + 0x14]
mov edx, dword [r14 + 0x18]
movzx ecx, word [r14 + 0x1c]
mov r8d, 0x1c
mov r9w, 0x17
jmp 0x5fec32
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x2739
je 0x5febc3
mov ebx, eax
cmp eax, 0x2726
jne 0x5fec84
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov ecx, edi
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call sub.ws2_32.dll_WSASocketW
cmp rax, 0xffffffffffffffff
je 0x5fec7d
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.kernel32.dll_SetHandleInformation
test eax, eax
jne 0x5feb7d
call sub.kernel32.dll_GetLastError
mov ebx, eax
mov rcx, rsi
call fcn.006f5984
jmp 0x5fec84
mov eax, dword [r14 + 2]
movzx ecx, word [r14 + 6]
xorps xmm0, xmm0
mov r8d, 0x10
mov r9w, 2
rol cx, 8
mov word [rbp - 0x1c], r9w
mov word [rbp - 0x1a], cx
mov dword [rbp - 0x18], eax
movups xmmword [rbp - 0x14], xmm0
mov dword [rbp - 4], edx
lea rdx, [rbp - 0x1c]
mov rcx, rsi
call sub.ws2_32.dll_bind
cmp eax, 0xffffffff
je 0x5fec61
xor eax, eax
mov rdx, rsi
jmp 0x5fec94
call sub.ws2_32.dll_WSAGetLastError
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov rcx, rsi
call fcn.006f5984
mov rdx, rdi
jmp 0x5fec8f
call sub.ws2_32.dll_WSAGetLastError
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov rdx, rbx
mov eax, 1
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov rsi, rdx
call sym.std::sync::once_lock::OnceLock_T_::initialize::he6a547af765b607b
mov rdx, rsi
jmp 0x5feb3e
Function at 0x600650
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov rax, rcx
add qword [rcx + 0x30], r8
mov r11, qword [rcx + 0x40]
test r11, r11
je 0x600692
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 4
jb 0x60069a
mov esi, dword [rdx]
mov r9d, 4
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jb 0x6006ab
jmp 0x6006c2
xor r10d, r10d
jmp 0x60074d
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x6006c2
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x6006d9
movzx edi, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rdi, cl
or rsi, rdi
lea ecx, [r11*8]
shl rsi, cl
or rsi, qword [rax + 0x38]
mov qword [rax + 0x38], rsi
cmp r10, r8
jbe 0x6006f9
add r11, r8
jmp 0x60082b
mov r11, qword [rax + 0x18]
mov r9, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, r9
rol r9, 0xd
xor r11, rsi
xor r9, rcx
rol rcx, 0x20
mov rdi, qword [rax + 8]
add rdi, r11
rol r11, 0x10
xor r11, rdi
add rcx, r11
rol r11, 0x15
xor r11, rcx
add rdi, r9
rol r9, 0x11
mov qword [rax + 0x18], r11
xor r9, rdi
rol rdi, 0x20
mov qword [rax + 0x10], r9
mov qword [rax + 8], rdi
xor rcx, rsi
mov qword [rax], rcx
sub r8, r10
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp r10, r8
jae 0x6007c2
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
nop
add rcx, rsi
rol rsi, 0xd
mov rbx, qword [rdx + r10]
xor rsi, rcx
rol rcx, 0x20
xor rdi, rbx
add r9, rdi
rol rdi, 0x10
xor rdi, r9
add rcx, rdi
rol rdi, 0x15
add r9, rsi
rol rsi, 0x11
xor rsi, r9
rol r9, 0x20
xor rdi, rcx
xor rcx, rbx
add r10, 8
cmp r10, r8
jb 0x600770
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 4
jb 0x6007e0
mov r9d, dword [rdx + r10]
mov r8d, 4
mov rcx, r8
or rcx, 1
cmp rcx, r11
jb 0x6007f2
jmp 0x60080d
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x60080d
lea rcx, [rdx + r8]
movzx esi, word [r10 + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x600827
add r10, r8
movzx edx, byte [rdx + r10]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
or r9, rdx
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r11
pop rbx
pop rdi
pop rsi
ret
Function at 0x603530
Capabilities:
Send data
Send data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov qword [rsp + 0x40], r8
mov rdi, rdx
mov r13, rcx
mov r14, qword [rcx + 0x18]
cmp r14, 0xffffffffffffffff
je 0x603583
mov rbp, r9
mov r15, qword [r13 + 0x10]
lea rcx, [rsp + 0x28]
mov rdx, r15
mov r8, rdi
mov r9b, 1
call sym._ZN5tokio7runtime2io12registration12Registration10poll_ready17h35016ab02286be24E.llvm.16189471974390703910
movzx ecx, byte [rsp + 0x31]
mov eax, 2
cmp cl, 3
jne 0x6035ae
jmp 0x603719
mov rdx, qword [r13 + 0x10]
lea rcx, [rsp + 0x28]
mov r8, rdi
mov r9b, 1
call sym._ZN5tokio7runtime2io12registration12Registration10poll_ready17h35016ab02286be24E.llvm.16189471974390703910
movzx eax, byte [rsp + 0x31]
cmp al, 3
jne 0x6036f6
mov eax, 2
jmp 0x603719
cmp rbp, 0x7fffffff
mov eax, 0x7fffffff
cmovb rax, rbp
mov rbp, rax
mov rax, qword [r13 + 0x20]
mov qword [rsp + 0x38], rax
lea rsi, [rsp + 0x28]
jmp 0x603607
mov rcx, rbx
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h0f2209e9bb9e438aE.llvm.4945498147846107690
mov rcx, rsi
mov rdx, r15
mov r8, rdi
mov r9b, 1
call sym._ZN5tokio7runtime2io12registration12Registration10poll_ready17h35016ab02286be24E.llvm.16189471974390703910
movzx ecx, byte [rsp + 0x31]
cmp cl, 3
je 0x603714
mov r13, qword [rsp + 0x28]
cmp cl, 2
je 0x6036ff
movzx r12d, byte [rsp + 0x30]
mov rcx, r14
mov rdx, qword [rsp + 0x40]
mov r8d, ebp
xor r9d, r9d
call sub.ws2_32.dll_send
cmp eax, 0xffffffff
jne 0x603706
call sub.ws2_32.dll_WSAGetLastError
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov rcx, rbx
call sym._ZN3std2io5error5Error4kind17hc2039d206deb488fE.14560
cmp al, 0xd
jne 0x6036a9
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x6036a9
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lock inc qword [rdx]
jle 0x603730
mov rsi, r14
mov r14, rdi
mov rdi, rbp
add rcx, 0x10
mov r8, qword [rax + 0x10]
movzx r9d, byte [rax + 0x18]
call sym.mio::sys::windows::selector::SelectorInner::reregister::h280ada3411f437f6
mov rbp, rax
test rax, rax
je 0x60369b
mov rcx, rbx
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h0f2209e9bb9e438aE.6335
mov rbx, rbp
mov rbp, rdi
mov rdi, r14
mov r14, rsi
lea rsi, [rsp + 0x28]
mov rcx, rbx
call sym._ZN3std2io5error5Error4kind17hc2039d206deb488fE.14560
cmp al, 0xd
jne 0x60370d
and r13d, 0x23
mov rax, qword [r15 + 0x90]
xor r13, 0x2f
mov ecx, r12d
shl ecx, 0x10
nop word [rax + rax]
mov edx, eax
shr edx, 0x10
cmp r12b, dl
jne 0x6035e0
mov edx, eax
and edx, r13d
or rdx, rcx
lock cmpxchg qword [r15 + 0x90], rdx
jne 0x6036d0
jmp 0x6035e0
cmp al, 2
jne 0x603732
mov r13, qword [rsp + 0x28]
mov eax, 1
jmp 0x603719
movsxd rbx, eax
xor eax, eax
jmp 0x60371c
mov eax, 1
jmp 0x60371c
mov eax, 2
mov rbx, r13
mov rdx, rbx
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
lea rcx, [0x007b2638]
call sym.core::option::unwrap_failed::hec1ab125882a5e1e
mov rsi, rax
mov rcx, rbx
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h0f2209e9bb9e438aE.6335
mov rcx, rsi
call sym._Unwind_Resume
call sym.core::panicking::panic_in_cleanup::h5f5a7d1a060868e8
int3
Function at 0x608c20
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov ecx, dword [0x0071b200]
test ecx, ecx
je 0x608d0e
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x608d07
je 0x608d05
movzx eax, byte [0x0083c308]
mov edx, 0x28
xor ecx, ecx
call sym.std::sys::pal::windows::alloc::process_heap_alloc::h5a8f05db6a24897c
test rax, rax
je 0x608d5a
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
mov byte [rax + 0x20], 0
movzx eax, byte [0x0083c308]
mov edx, 0x10
xor ecx, ecx
call sym.std::sys::pal::windows::alloc::process_heap_alloc::h5a8f05db6a24897c
test rax, rax
je 0x608d69
mov qword [rax], rsi
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h647d966c24ff0fd6
mov rsi, rax
mov qword [rax + 8], rcx
mov ecx, dword [0x0071b200]
test ecx, ecx
je 0x608d2d
dec ecx
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, dword [0x0071b200]
test ecx, ecx
je 0x608d3d
dec ecx
mov rdx, rsi
call fcn.006f5c64
test rdi, rdi
je 0x608d00
mov rax, qword [rdi]
lock dec qword [rax]
jne 0x608cef
mov rcx, qword [rdi]
call sym.alloc::sync::Arc_T_A_::drop_slow::h0348796f5a20272a
mov rcx, qword [0x0083c108]
xor edx, edx
mov r8, rdi
call fcn.006f5b74
mov rax, rsi
jmp 0x608d07
xor eax, eax
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h647d966c24ff0fd6
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x608c45
jmp 0x608d07
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h647d966c24ff0fd6
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x608cbd
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h647d966c24ff0fd6
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
mov rdx, rsi
call fcn.006f5c64
test rdi, rdi
jne 0x608cde
jmp 0x608d00
mov ecx, 8
mov edx, 0x28
call sym.alloc::alloc::handle_alloc_error::h033f15fcf3b32b44
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h033f15fcf3b32b44
ud2
Function at 0x60a410
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x78
mov ecx, dword [0x0071b2a0]
test ecx, ecx
je 0x60a534
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x60a57a
je 0x60a530
movups xmm0, xmmword [0x007d6b70]
movups xmmword [rsp + 0x68], xmm0
movups xmm0, xmmword [0x007d6b60]
movups xmmword [rsp + 0x58], xmm0
movups xmm0, xmmword [0x007d6b50]
movups xmmword [rsp + 0x48], xmm0
movups xmm0, xmmword [0x007d6b40]
movups xmmword [rsp + 0x38], xmm0
movups xmm0, xmmword [0x007d6b30]
movups xmmword [rsp + 0x28], xmm0
lea rax, sym.std::sys::thread_local::os_local::destroy_value::h3b6b0de6a7214134
mov qword [rsp + 0x20], rax
movzx eax, byte [0x0083c308]
mov edx, 0x58
xor ecx, ecx
call sym.std::sys::pal::windows::alloc::process_heap_alloc::h5a8f05db6a24897c
test rax, rax
je 0x60a5b9
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x50], rcx
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rax + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmm2, xmmword [rsp + 0x40]
movups xmm3, xmmword [rsp + 0x50]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
mov rsi, rax
movups xmmword [rax], xmm0
mov ecx, dword [0x0071b2a0]
test ecx, ecx
je 0x60a585
dec ecx
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, dword [0x0071b2a0]
test ecx, ecx
je 0x60a598
dec ecx
mov rdx, rsi
call fcn.006f5c64
test rdi, rdi
je 0x60a577
mov rax, qword [rdi + 0x10]
cmp rax, 2
je 0x60a566
test rax, rax
je 0x60a553
mov rax, qword [rdi + 0x18]
lock dec qword [rax]
jne 0x60a566
mov rcx, qword [rdi + 0x18]
call sym.alloc::sync::Arc_T_A_::drop_slow::h41c4fade46bf0005
jmp 0x60a566
xor eax, eax
jmp 0x60a57e
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3b6b0de6a7214134
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x60a435
jmp 0x60a57a
mov rax, qword [rdi + 0x18]
lock dec qword [rax]
jne 0x60a566
mov rcx, qword [rdi + 0x18]
call sym.alloc::sync::Arc_T_A_::drop_slow::h063945ab1e4b4518
mov rcx, qword [0x0083c108]
xor edx, edx
mov r8, rdi
call fcn.006f5b74
mov rax, rsi
add rax, 8
add rsp, 0x78
pop rdi
pop rsi
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3b6b0de6a7214134
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x60a4e7
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3b6b0de6a7214134
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
mov rdx, rsi
call fcn.006f5c64
test rdi, rdi
jne 0x60a50c
jmp 0x60a577
mov ecx, 8
mov edx, 0x58
call sym.alloc::alloc::handle_alloc_error::h033f15fcf3b32b44
ud2
Function at 0x60a650
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov rdi, qword [rcx]
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x60a667
dec ecx
jmp 0x60a671
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
mov edx, 1
call fcn.006f5c64
mov rax, qword [rsi + 0x10]
cmp rax, 2
je 0x60a6b2
test rax, rax
je 0x60a69f
mov rax, qword [rsi + 0x18]
lock dec qword [rax]
jne 0x60a6b2
mov rcx, qword [rsi + 0x18]
call sym.alloc::sync::Arc_T_A_::drop_slow::h41c4fade46bf0005
jmp 0x60a6b2
mov rax, qword [rsi + 0x18]
lock dec qword [rax]
jne 0x60a6b2
mov rcx, qword [rsi + 0x18]
call sym.alloc::sync::Arc_T_A_::drop_slow::h063945ab1e4b4518
mov rcx, qword [0x0083c108]
xor edx, edx
mov r8, rsi
call fcn.006f5b74
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x60a6ce
dec ecx
jmp 0x60a6d8
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
xor edx, edx
call fcn.006f5c64
nop
add rsp, 0x28
pop rdi
pop rsi
ret

Function at 0x60a800
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rdi, rcx
mov rsi, qword [rcx + 8]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x60a818
dec ecx
jmp 0x60a822
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
mov edx, 1
call fcn.006f5c64
mov rax, qword [rdi]
lock dec qword [rax]
jne 0x60a83d
mov rcx, qword [rdi]
call sym.alloc::sync::Arc_T_A_::drop_slow::h0348796f5a20272a
mov rcx, qword [0x0083c108]
xor edx, edx
mov r8, rdi
call fcn.006f5b74
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x60a859
dec ecx
jmp 0x60a863
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
xor edx, edx
call fcn.006f5c64
nop
add rsp, 0x28
pop rdi
pop rsi
ret
Function at 0x6135f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x78
mov rax, qword [rcx]
nop dword [rax]
mov rdx, rax
xor r8d, r8d
test dl, 3
sete r8b
or r8, rax
or r8, 0x20
lock cmpxchg qword [rcx], r8
jne 0x613600
test dl, 3
je 0x613647
mov rax, 0xffffffffffffffc0
lock xadd qword [rcx], rax
cmp rax, 0x3f
jbe 0x6136a5
and rax, 0xffffffffffffffc0
cmp rax, 0x40
jne 0x61369d
add rsp, 0x78
pop rdi
pop rsi
jmp sym._ZN4core3ptr333drop_in_place_LT_alloc..boxed..Box_LT_tokio..runtime..task..core..Cell_LT_tokio..runtime..blocking..task..Block
mov rdi, rcx
lea rsi, [rcx + 0x20]
mov qword [rsp + 0x50], 4
lea rdx, [rsp + 0x50]
mov rcx, rsi
call sym.tokio::runtime::task::core::Core_T_S_::set_stage::h0462166060a2a25e
xor eax, eax
mov rcx, qword [rdi + 0x20]
mov qword [rsp + 0x28], 1
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x28]
mov rcx, rsi
call sym.tokio::runtime::task::core::Core_T_S_::set_stage::h0462166060a2a25e
mov rcx, rdi
add rsp, 0x78
pop rdi
pop rsi
jmp sym._ZN5tokio7runtime4task7harness20Harness_LT_T_C_S_GT_8complete17h0b143e964e6cefadE.llvm.16446554623370569037
nop
add rsp, 0x78
pop rdi
pop rsi
ret
lea rcx, str.assertion_failed:_prev.ref_count_____1
lea r8, [0x007b4e50]
mov edx, 0x27
call sym.core::panicking::panic::h8ea5606244902eff
mov rcx, rax
call sym.std::panicking::try::cleanup::h0bfda5eb954e6696
jmp 0x613666