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

Disassembly:
push rbp
sub rsp, 0x40
lea rbp, [rsp + 0x40]
mov rax, r8
test rdx, rdx
je 0x140067338
add rsp, 0x40
pop rbp
ret
cmp word [rax], 0
je 0x14006735a
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 0x14006736f
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 0x1400673a0
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 0x14006ba00
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::hefc1272e814eb106
mov rdi, rdx
test rax, rax
je 0x14006ba87
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_::h2fe874d467bd577c
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::h6f02eeef3ead7b91
cmp dword [rbp + 8], 2
jne 0x14006baab
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x40], 2
jmp 0x14006bada
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 0x14006bb03
lea rcx, [rbp - 0x38]
call sym.core::ptr::drop_in_place_std::io::error::Error_::h2fe874d467bd577c
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 fcn.1400ad564
mov r12, qword [rbp - 8]
test rdi, rdi
je 0x14006bb51
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 0x14006bbcd
mov rbx, qword [rbp - 0x40]
jmp 0x14006bb53
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 0x14006bbbc
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 fcn.1400ad564
test r15, r15
je 0x14006bbbc
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], r12
mov qword [rsi], 1
jmp 0x14006bbf6
mov qword [rsi], 0
mov rcx, rbx
call fcn.1400ad564
jmp 0x14006bbf6
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_::h2fe874d467bd577c
mov qword [rsi], 0
mov rcx, rdi
call fcn.1400ad564
jmp 0x14006ba75
Function at 0x14006da60
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 [0x1400b0090]
test ecx, ecx
je 0x14006da96
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x14006daaf
cmp qword [rax + 8], 0
je 0x14006daaf
add rax, 0x10
jmp 0x14006db7a
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h908add47baca57a6
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jae 0x14006da86
mov ecx, dword [0x1400b0090]
test ecx, ecx
je 0x14006db5b
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14006db78
test rax, rax
jne 0x14006db21
mov rax, qword [0x1400d8ba8]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006db9b
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h908add47baca57a6
mov qword [rax], rcx
mov qword [rax + 8], 0
mov ecx, dword [0x1400b0090]
test ecx, ecx
je 0x14006db82
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400ad85c
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x14006db41
mov rdx, qword [rsi]
mov qword [rsi], 0
cmp rdx, 1
jne 0x14006db41
mov rdx, qword [rsi + 8]
mov ecx, dword [rsi + 0x10]
jmp 0x14006db43
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 0x14006db7a
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h908add47baca57a6
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jne 0x14006dace
xor eax, eax
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h908add47baca57a6
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
mov rax, rdi
jmp 0x14006db13
mov ecx, 8
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
int3
Function at 0x14006dbb0
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 [0x1400b00b0]
test ecx, ecx
je 0x14006dbe5
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x14006dbfe
cmp byte [rax + 8], 0
je 0x14006dbfe
add rax, 9
jmp 0x14006dcb1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h2b177c9f1f87cf45
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jae 0x14006dbd6
mov ecx, dword [0x1400b00b0]
test ecx, ecx
je 0x14006dc92
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14006dcaf
test rax, rax
jne 0x14006dc6c
mov rax, qword [0x1400d8ba8]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006dccf
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h2b177c9f1f87cf45
mov qword [rax], rcx
mov byte [rax + 8], 0
mov ecx, dword [0x1400b00b0]
test ecx, ecx
je 0x14006dcb9
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400ad85c
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x14006dc82
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 0x14006dcb1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h2b177c9f1f87cf45
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jne 0x14006dc1d
xor eax, eax
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h2b177c9f1f87cf45
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
mov rax, rdi
jmp 0x14006dc5e
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
int3
Function at 0x14006dce0
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 [0x1400b00d0]
test ecx, ecx
je 0x14006dd15
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x14006dd2e
cmp byte [rax + 8], 0
je 0x14006dd2e
add rax, 9
jmp 0x14006dde1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h2b177c9f1f87cf45
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jae 0x14006dd06
mov ecx, dword [0x1400b00d0]
test ecx, ecx
je 0x14006ddc2
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14006dddf
test rax, rax
jne 0x14006dd9c
mov rax, qword [0x1400d8ba8]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006ddff
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h2b177c9f1f87cf45
mov qword [rax], rcx
mov byte [rax + 8], 0
mov ecx, dword [0x1400b00d0]
test ecx, ecx
je 0x14006dde9
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400ad85c
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x14006ddb2
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 0x14006dde1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h2b177c9f1f87cf45
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jne 0x14006dd4d
xor eax, eax
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h2b177c9f1f87cf45
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
mov rax, rdi
jmp 0x14006dd8e
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
int3
Function at 0x14006de10
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 [0x1400b00f0]
test ecx, ecx
je 0x14006df22
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x14006de45
cmp qword [rax + 8], 0
jne 0x14006df1c
mov ecx, dword [0x1400b00f0]
test ecx, ecx
je 0x14006df54
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14006df71
test rax, rax
jne 0x14006decb
mov qword [rbp - 0x10], 0
lea rax, sym.std::sys::thread_local::os_local::destroy_value::h3b95812a681ed8d4
mov qword [rbp - 0x18], rax
mov rax, qword [0x1400d8ba8]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006df94
mov rcx, qword [rbp - 8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
mov ecx, dword [0x1400b00f0]
test ecx, ecx
je 0x14006df7b
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400ad85c
mov rax, rdi
test rsi, rsi
je 0x14006df44
mov rcx, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14006df44
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 0x14006df1c
test rdx, rdx
je 0x14006df1c
lock dec qword [rdx]
jne 0x14006df1c
lea rcx, [rbp - 0x10]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::h2abb8d0ae7b3533e
mov rax, rsi
add rax, 0x10
jmp 0x14006df73
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3b95812a681ed8d4
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jae 0x14006de3a
jmp 0x14006de45
mov rsi, rax
call sym.std::sync::mpmc::context::Context::new::h7ff74aa247c03544
mov rcx, rax
mov rax, rsi
jmp 0x14006dee1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3b95812a681ed8d4
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jne 0x14006de64
xor eax, eax
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h3b95812a681ed8d4
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
mov rax, rdi
jmp 0x14006debd
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
ud2
Function at 0x14006dfc0
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 [0x1400b0110]
test ecx, ecx
je 0x14006e0d8
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x14006dff5
cmp qword [rax + 8], 0
jne 0x14006e0d2
mov ecx, dword [0x1400b0110]
test ecx, ecx
je 0x14006e0fa
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14006e117
test rax, rax
jne 0x14006e07b
mov qword [rbp - 0x10], 0
lea rax, sym.std::sys::thread_local::os_local::destroy_value::hf13de20a5d8f60eb
mov qword [rbp - 0x18], rax
mov rax, qword [0x1400d8ba8]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006e13a
mov rcx, qword [rbp - 8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
mov ecx, dword [0x1400b0110]
test ecx, ecx
je 0x14006e121
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400ad85c
mov rax, rdi
test rsi, rsi
je 0x14006e095
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x14006e097
mov rcx, qword [rsi + 8]
jmp 0x14006e097
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 0x14006e0d2
test rdx, rdx
je 0x14006e0d2
lock dec qword [rdx]
jne 0x14006e0d2
lea rcx, [rbp - 0x10]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::h3350d1a16dd8b830
mov rax, rsi
add rax, 0x10
jmp 0x14006e119
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::hf13de20a5d8f60eb
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jae 0x14006dfea
jmp 0x14006dff5
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::hf13de20a5d8f60eb
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jne 0x14006e014
xor eax, eax
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::hf13de20a5d8f60eb
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
mov rax, rdi
jmp 0x14006e06d
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
ud2
Function at 0x14006e160
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 [0x1400b0130]
test ecx, ecx
je 0x14006e255
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x14006e195
cmp qword [rax + 8], 0
jne 0x14006e24f
mov ecx, dword [0x1400b0130]
test ecx, ecx
je 0x14006e277
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14006e294
test rax, rax
jne 0x14006e20b
mov rax, qword [0x1400d8ba8]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006e2b7
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h908add47baca57a6
mov qword [rax], rcx
mov qword [rax + 8], 0
mov ecx, dword [0x1400b0130]
test ecx, ecx
je 0x14006e29e
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400ad85c
mov rax, rdi
test rsi, rsi
je 0x14006e224
mov rcx, qword [rsi]
movups xmm0, xmmword [rsi + 8]
mov qword [rsi], 0
cmp rcx, 1
je 0x14006e243
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 0x14006e296
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h908add47baca57a6
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jae 0x14006e18a
jmp 0x14006e195
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h908add47baca57a6
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jne 0x14006e1b4
xor eax, eax
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h908add47baca57a6
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
mov rax, rdi
jmp 0x14006e1fd
mov ecx, 8
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
int3
Function at 0x14006e2d0
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 [0x1400b0150]
test ecx, ecx
je 0x14006e3e8
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x14006e305
cmp qword [rax + 8], 0
jne 0x14006e3e2
mov ecx, dword [0x1400b0150]
test ecx, ecx
je 0x14006e40a
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14006e427
test rax, rax
jne 0x14006e38b
mov qword [rbp - 0x10], 0
lea rax, sym.std::sys::thread_local::os_local::destroy_value::h7e7befca05c88b99
mov qword [rbp - 0x18], rax
mov rax, qword [0x1400d8ba8]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14006e44a
mov rcx, qword [rbp - 8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
mov ecx, dword [0x1400b0150]
test ecx, ecx
je 0x14006e431
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400ad85c
mov rax, rdi
test rsi, rsi
je 0x14006e3a5
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x14006e3a7
mov rcx, qword [rsi + 8]
jmp 0x14006e3a7
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 0x14006e3e2
test rdx, rdx
je 0x14006e3e2
lock dec qword [rdx]
jne 0x14006e3e2
lea rcx, [rbp - 0x10]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::hf2a241d43703bb56
mov rax, rsi
add rax, 0x10
jmp 0x14006e429
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h7e7befca05c88b99
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jae 0x14006e2fa
jmp 0x14006e305
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h7e7befca05c88b99
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jne 0x14006e324
xor eax, eax
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h7e7befca05c88b99
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::haa087f69fbeb5f15
mov ecx, eax
mov rax, rdi
jmp 0x14006e37d
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
ud2
Function at 0x140071850
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
test rdx, rdx
je 0x14007186a
mov r8d, edx
and r8d, 3
cmp rdx, 4
jae 0x14007186e
xor eax, eax
jmp 0x1400718e5
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 0x140071880
test r8, r8
je 0x14007190f
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 0x1400718f0
and eax, 0xfffffff
pop rbp
ret

Function at 0x140071920
Capabilities:
Hash data using djb2

Disassembly:
push rbp
mov rbp, rsp
test rdx, rdx
je 0x140071940
mov r8d, edx
and r8d, 7
cmp rdx, 8
jae 0x140071947
mov eax, 0x1505
jmp 0x1400719cd
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 0x140071950
test r8, r8
je 0x1400719f9
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 0x1400719e0
pop rbp
ret
Function at 0x1400a0720
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 0x1400a07aa
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 0x1400a07a0
cmp r11, r10
ja 0x1400a0826
cmp r10, rdx
ja 0x1400a0838
add r11, r9
xor ebx, ebx
nop word cs:[rax + rax]
cmp rdi, rbx
je 0x1400a07a2
lea r14, [rbx + 1]
cmp byte [r11 + rbx], cl
mov rbx, r14
jne 0x1400a0780
jmp 0x1400a0807
ja 0x1400a07aa
mov r11, r10
cmp rax, r8
jne 0x1400a0747
mov rdx, qword [rbp + 0x60]
test rdx, rdx
je 0x1400a080b
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 0x1400a07e0
mov r8, r10
sub ecx, r9d
jns 0x1400a07fe
jmp 0x1400a080d
cmp r10, rdx
je 0x1400a081a
movzx r10d, byte [r8 + 1]
add r8, 2
and r9d, 0x7f
shl r9d, 8
or r9d, r10d
sub ecx, r9d
js 0x1400a080d
xor al, 1
cmp r8, rdx
jne 0x1400a07c0
jmp 0x1400a080d
xor eax, eax
jmp 0x1400a080d
mov al, 1
and al, 1
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [0x1400cd940]
call sym.core::option::unwrap_failed::h511674c62460528b
lea r8, [0x1400cd958]
mov rcx, r11
mov rdx, r10
call sym.core::slice::index::slice_index_order_fail::hf943cfe51be07c4a
lea r8, [0x1400cd958]
mov rcx, r10
call sym.core::slice::index::slice_end_index_len_fail::ha4157f6c56c31a58
int3