joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140063dd0
Capabilities:
Connect socket

Disassembly:
push rbp
sub rsp, 0x40
lea rbp, [rsp + 0x40]
mov rax, r8
test rdx, rdx
je 0x140063de8
add rsp, 0x40
pop rbp
ret
cmp word [rax], 0
je 0x140063e0a
movups xmm0, xmmword [rax + 4]
mov edx, dword [rax + 0x14]
mov r9d, dword [rax + 0x18]
movzx eax, word [rax + 0x1c]
mov r8d, 0x1c
mov r10w, 0x17
jmp 0x140063e1f
mov edx, dword [rax + 2]
movzx eax, word [rax + 6]
xorps xmm0, xmm0
mov r8d, 0x10
mov r10w, 2
rol ax, 8
mov word [rbp - 0x1c], r10w
mov word [rbp - 0x1a], ax
mov dword [rbp - 0x18], edx
movups xmmword [rbp - 0x14], xmm0
mov dword [rbp - 4], r9d
mov rcx, qword [rcx]
lea rdx, [rbp - 0x1c]
call sub.WS2_32.dll_connect
cmp eax, 0xffffffff
je 0x140063e50
xor eax, eax
add rsp, 0x40
pop rbp
ret
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x40
pop rbp
ret
Function at 0x1400684b0
Capabilities:
Read file via mapping

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov rax, r8
mov rsi, rcx
mov dword [rbp + 8], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov dword [rbp + 0x20], 7
mov qword [rbp + 0x24], 0
mov word [rbp + 0x2c], 0
mov byte [rbp + 0x28], 1
lea r8, [rbp + 8]
mov rcx, rdx
mov rdx, rax
call sym.std::sys::pal::windows::fs::File::open::h7647130347cc17e6
mov rdi, rdx
test rax, rax
je 0x140068537
mov qword [rbp - 0x40], rax
lea rcx, [rbp - 0x38]
mov qword [rbp - 0x38], rdi
call sym.core::ptr::drop_in_place_std::io::error::Error_::h9a1f4689c6f8ec90
mov qword [rsi], 0
add rsp, 0xd0
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
lea rcx, [rbp + 8]
mov rdx, rdi
call sym.std::sys::pal::windows::fs::File::file_attr::h0e4815fc06237944
cmp dword [rbp + 8], 2
jne 0x14006855b
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x40], 2
jmp 0x14006858a
movups xmm0, xmmword [rbp + 8]
movups xmm1, xmmword [rbp + 0x18]
movups xmm2, xmmword [rbp + 0x28]
movups xmm3, xmmword [rbp + 0x38]
movaps xmmword [rbp - 0x40], xmm0
mov rax, qword [rbp + 0x48]
mov qword [rbp], rax
movaps xmmword [rbp - 0x10], xmm3
movaps xmmword [rbp - 0x20], xmm2
movaps xmmword [rbp - 0x30], xmm1
cmp qword [rbp - 0x40], 2
jne 0x1400685b3
lea rcx, [rbp - 0x38]
call sym.core::ptr::drop_in_place_std::io::error::Error_::h9a1f4689c6f8ec90
mov qword [rsi], 0
mov rcx, rdi
add rsp, 0xd0
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
jmp sub.KERNEL32.dll_CloseHandle
mov r12, qword [rbp - 8]
test rdi, rdi
je 0x140068601
mov qword [rbp - 0x40], 0
call sub.KERNEL32.dll_GetCurrentProcess
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r9, [rbp - 0x40]
mov rcx, rax
mov rdx, rdi
mov r8, rax
call sub.KERNEL32.dll_DuplicateHandle
test eax, eax
je 0x14006867d
mov rbx, qword [rbp - 0x40]
jmp 0x140068603
xor ebx, ebx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rbx
xor edx, edx
mov r8d, 2
xor r9d, r9d
call sub.KERNEL32.dll_CreateFileMappingA
test rax, rax
je 0x14006866c
mov r14, rax
mov qword [rsp + 0x20], r12
mov rcx, rax
mov edx, 4
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_MapViewOfFile
mov r15, rax
mov rcx, r14
call sub.KERNEL32.dll_CloseHandle
test r15, r15
je 0x14006866c
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], r12
mov qword [rsi], 1
jmp 0x1400686a6
mov qword [rsi], 0
mov rcx, rbx
call sub.KERNEL32.dll_CloseHandle
jmp 0x1400686a6
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 8], 1
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x10], rax
call sym.core::ptr::drop_in_place_std::io::error::Error_::h9a1f4689c6f8ec90
mov qword [rsi], 0
mov rcx, rdi
call sub.KERNEL32.dll_CloseHandle
jmp 0x140068525
Function at 0x14006a540
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rsi, rcx
mov ecx, dword [0x1400ad098]
test ecx, ecx
je 0x14006a576
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14006a58f
cmp qword [rax + 8], 0
je 0x14006a58f
add rax, 0x10
jmp 0x14006a65a
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h18175890a5bb4147
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14006a566
mov ecx, dword [0x1400ad098]
test ecx, ecx
je 0x14006a63b
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14006a658
test rax, rax
jne 0x14006a601
mov rax, qword [0x1400de6a8]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006a67b
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h18175890a5bb4147
mov qword [rax], rcx
mov qword [rax + 8], 0
mov ecx, dword [0x1400ad098]
test ecx, ecx
je 0x14006a662
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400aa56c
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x14006a621
mov rdx, qword [rsi]
mov qword [rsi], 0
cmp rdx, 1
jne 0x14006a621
mov rdx, qword [rsi + 8]
mov ecx, dword [rsi + 0x10]
jmp 0x14006a623
xor edx, edx
mov qword [rax + 8], 1
lea r8, [rax + 0x10]
mov qword [rax + 0x10], rdx
mov byte [rax + 0x18], cl
mov rax, r8
jmp 0x14006a65a
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h18175890a5bb4147
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14006a5ae
xor eax, eax
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h18175890a5bb4147
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
mov rax, rdi
jmp 0x14006a5f3
mov ecx, 8
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::h228753ed66d1b2b6
int3
Function at 0x14006a690
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rsi, rcx
mov ecx, dword [0x1400ad0b8]
test ecx, ecx
je 0x14006a6c5
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14006a6de
cmp byte [rax + 8], 0
je 0x14006a6de
add rax, 9
jmp 0x14006a791
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3d3ea868ad9811c8
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14006a6b6
mov ecx, dword [0x1400ad0b8]
test ecx, ecx
je 0x14006a772
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14006a78f
test rax, rax
jne 0x14006a74c
mov rax, qword [0x1400de6a8]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006a7af
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3d3ea868ad9811c8
mov qword [rax], rcx
mov byte [rax + 8], 0
mov ecx, dword [0x1400ad0b8]
test ecx, ecx
je 0x14006a799
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400aa56c
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x14006a762
cmp byte [rsi], 0
mov byte [rsi], 0
movzx edx, byte [rsi + 1]
cmove edx, ecx
mov ecx, edx
lea rdx, [rax + 9]
mov byte [rax + 8], 1
mov byte [rax + 9], cl
mov rax, rdx
jmp 0x14006a791
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3d3ea868ad9811c8
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14006a6fd
xor eax, eax
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3d3ea868ad9811c8
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
mov rax, rdi
jmp 0x14006a73e
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h228753ed66d1b2b6
int3
Function at 0x14006a7c0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rsi, rcx
mov ecx, dword [0x1400ad0d8]
test ecx, ecx
je 0x14006a7f5
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14006a80e
cmp byte [rax + 8], 0
je 0x14006a80e
add rax, 9
jmp 0x14006a8c1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3d3ea868ad9811c8
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14006a7e6
mov ecx, dword [0x1400ad0d8]
test ecx, ecx
je 0x14006a8a2
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14006a8bf
test rax, rax
jne 0x14006a87c
mov rax, qword [0x1400de6a8]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006a8df
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3d3ea868ad9811c8
mov qword [rax], rcx
mov byte [rax + 8], 0
mov ecx, dword [0x1400ad0d8]
test ecx, ecx
je 0x14006a8c9
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400aa56c
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x14006a892
cmp byte [rsi], 0
mov byte [rsi], 0
movzx edx, byte [rsi + 1]
cmove edx, ecx
mov ecx, edx
lea rdx, [rax + 9]
mov byte [rax + 8], 1
mov byte [rax + 9], cl
mov rax, rdx
jmp 0x14006a8c1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3d3ea868ad9811c8
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14006a82d
xor eax, eax
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3d3ea868ad9811c8
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
mov rax, rdi
jmp 0x14006a86e
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h228753ed66d1b2b6
int3
Function at 0x14006a8f0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x40
lea rbp, [rsp + 0x40]
mov rsi, rcx
mov ecx, dword [0x1400ad0f8]
test ecx, ecx
je 0x14006aa02
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14006a925
cmp qword [rax + 8], 0
jne 0x14006a9fc
mov ecx, dword [0x1400ad0f8]
test ecx, ecx
je 0x14006aa34
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14006aa51
test rax, rax
jne 0x14006a9ab
mov qword [rbp - 0x10], 0
lea rax, sym.std::sys::thread_local::os_local::destroy_value::h12c4d6c555c23808
mov qword [rbp - 0x18], rax
mov rax, qword [0x1400de6a8]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006aa74
mov rcx, qword [rbp - 8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
mov ecx, dword [0x1400ad0f8]
test ecx, ecx
je 0x14006aa5b
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400aa56c
mov rax, rdi
test rsi, rsi
je 0x14006aa24
mov rcx, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14006aa24
mov r8, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x10], rdx
mov qword [rax + 8], 1
mov qword [rax + 0x10], rcx
test r8, r8
je 0x14006a9fc
test rdx, rdx
je 0x14006a9fc
lock dec qword [rdx]
jne 0x14006a9fc
lea rcx, [rbp - 0x10]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::hc7aa19b0b49e4830
mov rax, rsi
add rax, 0x10
jmp 0x14006aa53
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h12c4d6c555c23808
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14006a91a
jmp 0x14006a925
mov rsi, rax
call sym.std::sync::mpmc::context::Context::new::h79be5002b97cffea
mov rcx, rax
mov rax, rsi
jmp 0x14006a9c1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h12c4d6c555c23808
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14006a944
xor eax, eax
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h12c4d6c555c23808
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
mov rax, rdi
jmp 0x14006a99d
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::h228753ed66d1b2b6
ud2
Function at 0x14006aaa0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x40
lea rbp, [rsp + 0x40]
mov rsi, rcx
mov ecx, dword [0x1400ad118]
test ecx, ecx
je 0x14006abb8
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14006aad5
cmp qword [rax + 8], 0
jne 0x14006abb2
mov ecx, dword [0x1400ad118]
test ecx, ecx
je 0x14006abda
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14006abf7
test rax, rax
jne 0x14006ab5b
mov qword [rbp - 0x10], 0
lea rax, sym.std::sys::thread_local::os_local::destroy_value::h9e9b0e6bad7289bd
mov qword [rbp - 0x18], rax
mov rax, qword [0x1400de6a8]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006ac1a
mov rcx, qword [rbp - 8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
mov ecx, dword [0x1400ad118]
test ecx, ecx
je 0x14006ac01
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400aa56c
mov rax, rdi
test rsi, rsi
je 0x14006ab75
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x14006ab77
mov rcx, qword [rsi + 8]
jmp 0x14006ab77
xor ecx, ecx
mov r8, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x10], rdx
mov qword [rax + 8], 1
mov qword [rax + 0x10], rcx
test r8, r8
je 0x14006abb2
test rdx, rdx
je 0x14006abb2
lock dec qword [rdx]
jne 0x14006abb2
lea rcx, [rbp - 0x10]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::h631298cfc674ec8e
mov rax, rsi
add rax, 0x10
jmp 0x14006abf9
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h9e9b0e6bad7289bd
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14006aaca
jmp 0x14006aad5
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h9e9b0e6bad7289bd
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14006aaf4
xor eax, eax
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h9e9b0e6bad7289bd
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
mov rax, rdi
jmp 0x14006ab4d
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::h228753ed66d1b2b6
ud2
Function at 0x14006ac40
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov rsi, rcx
mov ecx, dword [0x1400ad138]
test ecx, ecx
je 0x14006ad35
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14006ac75
cmp qword [rax + 8], 0
jne 0x14006ad2f
mov ecx, dword [0x1400ad138]
test ecx, ecx
je 0x14006ad57
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14006ad74
test rax, rax
jne 0x14006aceb
mov rax, qword [0x1400de6a8]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006ad97
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h18175890a5bb4147
mov qword [rax], rcx
mov qword [rax + 8], 0
mov ecx, dword [0x1400ad138]
test ecx, ecx
je 0x14006ad7e
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400aa56c
mov rax, rdi
test rsi, rsi
je 0x14006ad04
mov rcx, qword [rsi]
movups xmm0, xmmword [rsi + 8]
mov qword [rsi], 0
cmp rcx, 1
je 0x14006ad23
xorps xmm0, xmm0
movaps xmmword [rbp - 0x10], xmm0
lea rcx, [rbp - 0x10]
mov edx, 0x10
mov rsi, rax
call sub.bcryptprimitives.dll_ProcessPrng
mov rax, rsi
movaps xmm0, xmmword [rbp - 0x10]
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm0
add rax, 0x10
jmp 0x14006ad76
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h18175890a5bb4147
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14006ac6a
jmp 0x14006ac75
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h18175890a5bb4147
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14006ac94
xor eax, eax
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h18175890a5bb4147
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
mov rax, rdi
jmp 0x14006acdd
mov ecx, 8
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::h228753ed66d1b2b6
int3
Function at 0x14006adb0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x40
lea rbp, [rsp + 0x40]
mov rsi, rcx
mov ecx, dword [0x1400ad158]
test ecx, ecx
je 0x14006aec8
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14006ade5
cmp qword [rax + 8], 0
jne 0x14006aec2
mov ecx, dword [0x1400ad158]
test ecx, ecx
je 0x14006aeea
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14006af07
test rax, rax
jne 0x14006ae6b
mov qword [rbp - 0x10], 0
lea rax, sym.std::sys::thread_local::os_local::destroy_value::h1ca82a0b72c932a0
mov qword [rbp - 0x18], rax
mov rax, qword [0x1400de6a8]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006af2a
mov rcx, qword [rbp - 8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
mov ecx, dword [0x1400ad158]
test ecx, ecx
je 0x14006af11
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400aa56c
mov rax, rdi
test rsi, rsi
je 0x14006ae85
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x14006ae87
mov rcx, qword [rsi + 8]
jmp 0x14006ae87
xor ecx, ecx
mov r8, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x10], rdx
mov qword [rax + 8], 1
mov qword [rax + 0x10], rcx
test r8, r8
je 0x14006aec2
test rdx, rdx
je 0x14006aec2
lock dec qword [rdx]
jne 0x14006aec2
lea rcx, [rbp - 0x10]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::hc202c63bc727622c
mov rax, rsi
add rax, 0x10
jmp 0x14006af09
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h1ca82a0b72c932a0
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14006adda
jmp 0x14006ade5
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h1ca82a0b72c932a0
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14006ae04
xor eax, eax
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h1ca82a0b72c932a0
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h9e118c2499f89001
mov ecx, eax
mov rax, rdi
jmp 0x14006ae5d
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::h228753ed66d1b2b6
ud2
Function at 0x14006e140
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
test rdx, rdx
je 0x14006e15a
mov r8d, edx
and r8d, 3
cmp rdx, 4
jae 0x14006e15e
xor eax, eax
jmp 0x14006e1d5
xor eax, eax
pop rbp
ret
and rdx, 0xfffffffffffffffc
xor eax, eax
nop word cs:[rax + rax]
shl eax, 4
movzx r9d, byte [rcx]
add r9d, eax
mov eax, r9d
shr eax, 0x18
and eax, 0xfffffff0
xor eax, r9d
shl eax, 4
movzx r9d, byte [rcx + 1]
add r9d, eax
mov eax, r9d
shr eax, 0x18
and eax, 0xfffffff0
xor eax, r9d
shl eax, 4
movzx r9d, byte [rcx + 2]
add r9d, eax
mov eax, r9d
shr eax, 0x18
and eax, 0xfffffff0
xor eax, r9d
shl eax, 4
movzx r9d, byte [rcx + 3]
add rcx, 4
add r9d, eax
mov eax, r9d
shr eax, 0x18
and eax, 0xfffffff0
xor eax, r9d
add rdx, 0xfffffffffffffffc
jne 0x14006e170
test r8, r8
je 0x14006e1ff
xor edx, edx
nop dword [rax]
shl eax, 4
movzx r9d, byte [rcx + rdx]
add r9d, eax
mov eax, r9d
shr eax, 0x18
and eax, 0xfffffff0
xor eax, r9d
inc rdx
cmp r8, rdx
jne 0x14006e1e0
and eax, 0xfffffff
pop rbp
ret

Function at 0x14006e210
Capabilities:
Hash data using djb2

Disassembly:
push rbp
mov rbp, rsp
test rdx, rdx
je 0x14006e230
mov r8d, edx
and r8d, 7
cmp rdx, 8
jae 0x14006e237
mov eax, 0x1505
jmp 0x14006e2bd
mov eax, 0x1505
pop rbp
ret
and rdx, 0xfffffffffffffff8
mov eax, 0x1505
mov r9d, eax
shl r9d, 5
add r9d, eax
movzx eax, byte [rcx]
add eax, r9d
movzx r9d, byte [rcx + 1]
add r9d, eax
shl eax, 5
add r9d, eax
movzx eax, byte [rcx + 2]
add eax, r9d
shl r9d, 5
add eax, r9d
movzx r9d, byte [rcx + 3]
add r9d, eax
shl eax, 5
add r9d, eax
movzx eax, byte [rcx + 4]
add eax, r9d
shl r9d, 5
add eax, r9d
movzx r9d, byte [rcx + 5]
add r9d, eax
shl eax, 5
add r9d, eax
movzx r10d, byte [rcx + 6]
add r10d, r9d
shl r9d, 5
add r10d, r9d
movzx eax, byte [rcx + 7]
add eax, r10d
shl r10d, 5
add rcx, 8
add eax, r10d
add rdx, 0xfffffffffffffff8
jne 0x14006e240
test r8, r8
je 0x14006e2e9
xor edx, edx
nop word cs:[rax + rax]
mov r9d, eax
shl r9d, 5
add r9d, eax
movzx eax, byte [rcx + rdx]
add eax, r9d
inc rdx
cmp r8, rdx
jne 0x14006e2d0
pop rbp
ret
Function at 0x14009d7f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
lea rbp, [rsp + 0x20]
test r8, r8
je 0x14009d87a
mov rax, rdx
mov rdx, qword [rbp + 0x50]
mov esi, ecx
shr esi, 8
lea r8, [rax + r8*2]
xor r11d, r11d
mov rbx, rax
movzx edi, byte [rax + 1]
add rax, 2
lea r10, [r11 + rdi]
cmp byte [rbx], sil
jne 0x14009d870
cmp r11, r10
ja 0x14009d8f6
cmp r10, rdx
ja 0x14009d908
add r11, r9
xor ebx, ebx
nop word cs:[rax + rax]
cmp rdi, rbx
je 0x14009d872
lea r14, [rbx + 1]
cmp byte [r11 + rbx], cl
mov rbx, r14
jne 0x14009d850
jmp 0x14009d8d7
ja 0x14009d87a
mov r11, r10
cmp rax, r8
jne 0x14009d817
mov rdx, qword [rbp + 0x60]
test rdx, rdx
je 0x14009d8db
mov r8, qword [rbp + 0x58]
add rdx, r8
movzx ecx, cx
mov al, 1
nop
lea r10, [r8 + 1]
movzx r9d, byte [r8]
test r9b, r9b
js 0x14009d8b0
mov r8, r10
sub ecx, r9d
jns 0x14009d8ce
jmp 0x14009d8dd
cmp r10, rdx
je 0x14009d8ea
movzx r10d, byte [r8 + 1]
add r8, 2
and r9d, 0x7f
shl r9d, 8
or r9d, r10d
sub ecx, r9d
js 0x14009d8dd
xor al, 1
cmp r8, rdx
jne 0x14009d890
jmp 0x14009d8dd
xor eax, eax
jmp 0x14009d8dd
mov al, 1
and al, 1
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [0x1400d3468]
call sym.core::option::unwrap_failed::he56e1bcb20c6688c
lea r8, str.C4_r_
mov rcx, r11
mov rdx, r10
call sym.core::slice::index::slice_index_order_fail::hd57c410096a6c542
lea r8, str.C4_r_
mov rcx, r10
call sym.core::slice::index::slice_end_index_len_fail::h0369f756e1733715
int3