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

Disassembly:
push rbp
sub rsp, 0x40
lea rbp, [rsp + 0x40]
mov rax, r8
test rdx, rdx
je 0x140053118
add rsp, 0x40
pop rbp
ret
cmp word [rax], 0
je 0x14005313a
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 0x14005314f
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 0x140053180
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 0x1400577e0
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 0x140057867
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 0x14005788b
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x40], 2
jmp 0x1400578ba
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 0x1400578e3
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 sub.KERNEL32.dll_CloseHandle
mov r12, qword [rbp - 8]
test rdi, rdi
je 0x140057931
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 0x1400579ad
mov rbx, qword [rbp - 0x40]
jmp 0x140057933
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 0x14005799c
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 0x14005799c
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], r12
mov qword [rsi], 1
jmp 0x1400579d6
mov qword [rsi], 0
mov rcx, rbx
call sub.KERNEL32.dll_CloseHandle
jmp 0x1400579d6
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 sub.KERNEL32.dll_CloseHandle
jmp 0x140057855
Function at 0x140059840
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 [0x14009c080]
test ecx, ecx
je 0x140059876
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14005988f
cmp qword [rax + 8], 0
je 0x14005988f
add rax, 0x10
jmp 0x14005995a
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 0x140059866
mov ecx, dword [0x14009c080]
test ecx, ecx
je 0x14005993b
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140059958
test rax, rax
jne 0x140059901
mov rax, qword [0x1400f4a88]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14005997b
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h908add47baca57a6
mov qword [rax], rcx
mov qword [rax + 8], 0
mov ecx, dword [0x14009c080]
test ecx, ecx
je 0x140059962
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140099acc
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x140059921
mov rdx, qword [rsi]
mov qword [rsi], 0
cmp rdx, 1
jne 0x140059921
mov rdx, qword [rsi + 8]
mov ecx, dword [rsi + 0x10]
jmp 0x140059923
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 0x14005995a
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 0x1400598ae
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 0x1400598f3
mov ecx, 8
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
int3
Function at 0x140059990
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 [0x14009c0a0]
test ecx, ecx
je 0x1400599c5
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1400599de
cmp byte [rax + 8], 0
je 0x1400599de
add rax, 9
jmp 0x140059a91
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 0x1400599b6
mov ecx, dword [0x14009c0a0]
test ecx, ecx
je 0x140059a72
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140059a8f
test rax, rax
jne 0x140059a4c
mov rax, qword [0x1400f4a88]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140059aaf
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h2b177c9f1f87cf45
mov qword [rax], rcx
mov byte [rax + 8], 0
mov ecx, dword [0x14009c0a0]
test ecx, ecx
je 0x140059a99
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140099acc
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x140059a62
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 0x140059a91
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 0x1400599fd
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 0x140059a3e
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
int3
Function at 0x140059ac0
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 [0x14009c0c0]
test ecx, ecx
je 0x140059af5
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x140059b0e
cmp byte [rax + 8], 0
je 0x140059b0e
add rax, 9
jmp 0x140059bc1
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 0x140059ae6
mov ecx, dword [0x14009c0c0]
test ecx, ecx
je 0x140059ba2
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140059bbf
test rax, rax
jne 0x140059b7c
mov rax, qword [0x1400f4a88]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140059bdf
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h2b177c9f1f87cf45
mov qword [rax], rcx
mov byte [rax + 8], 0
mov ecx, dword [0x14009c0c0]
test ecx, ecx
je 0x140059bc9
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140099acc
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x140059b92
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 0x140059bc1
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 0x140059b2d
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 0x140059b6e
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
int3
Function at 0x140059bf0
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 [0x14009c0e0]
test ecx, ecx
je 0x140059d02
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x140059c25
cmp qword [rax + 8], 0
jne 0x140059cfc
mov ecx, dword [0x14009c0e0]
test ecx, ecx
je 0x140059d34
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140059d51
test rax, rax
jne 0x140059cab
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 [0x1400f4a88]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140059d74
mov rcx, qword [rbp - 8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
mov ecx, dword [0x14009c0e0]
test ecx, ecx
je 0x140059d5b
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140099acc
mov rax, rdi
test rsi, rsi
je 0x140059d24
mov rcx, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x140059d24
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 0x140059cfc
test rdx, rdx
je 0x140059cfc
lock dec qword [rdx]
jne 0x140059cfc
lea rcx, [rbp - 0x10]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::h2abb8d0ae7b3533e
mov rax, rsi
add rax, 0x10
jmp 0x140059d53
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 0x140059c1a
jmp 0x140059c25
mov rsi, rax
call sym.std::sync::mpmc::context::Context::new::h7ff74aa247c03544
mov rcx, rax
mov rax, rsi
jmp 0x140059cc1
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 0x140059c44
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 0x140059c9d
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
ud2
Function at 0x140059da0
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 [0x14009c100]
test ecx, ecx
je 0x140059eb8
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x140059dd5
cmp qword [rax + 8], 0
jne 0x140059eb2
mov ecx, dword [0x14009c100]
test ecx, ecx
je 0x140059eda
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140059ef7
test rax, rax
jne 0x140059e5b
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 [0x1400f4a88]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140059f1a
mov rcx, qword [rbp - 8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
mov ecx, dword [0x14009c100]
test ecx, ecx
je 0x140059f01
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140099acc
mov rax, rdi
test rsi, rsi
je 0x140059e75
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x140059e77
mov rcx, qword [rsi + 8]
jmp 0x140059e77
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 0x140059eb2
test rdx, rdx
je 0x140059eb2
lock dec qword [rdx]
jne 0x140059eb2
lea rcx, [rbp - 0x10]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::h3350d1a16dd8b830
mov rax, rsi
add rax, 0x10
jmp 0x140059ef9
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 0x140059dca
jmp 0x140059dd5
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 0x140059df4
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 0x140059e4d
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
ud2
Function at 0x140059f40
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 [0x14009c120]
test ecx, ecx
je 0x14005a035
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x140059f75
cmp qword [rax + 8], 0
jne 0x14005a02f
mov ecx, dword [0x14009c120]
test ecx, ecx
je 0x14005a057
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14005a074
test rax, rax
jne 0x140059feb
mov rax, qword [0x1400f4a88]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14005a097
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h908add47baca57a6
mov qword [rax], rcx
mov qword [rax + 8], 0
mov ecx, dword [0x14009c120]
test ecx, ecx
je 0x14005a07e
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140099acc
mov rax, rdi
test rsi, rsi
je 0x14005a004
mov rcx, qword [rsi]
movups xmm0, xmmword [rsi + 8]
mov qword [rsi], 0
cmp rcx, 1
je 0x14005a023
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 0x14005a076
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 0x140059f6a
jmp 0x140059f75
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 0x140059f94
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 0x140059fdd
mov ecx, 8
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
int3
Function at 0x14005a0b0
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 [0x14009c140]
test ecx, ecx
je 0x14005a1c8
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14005a0e5
cmp qword [rax + 8], 0
jne 0x14005a1c2
mov ecx, dword [0x14009c140]
test ecx, ecx
je 0x14005a1ea
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14005a207
test rax, rax
jne 0x14005a16b
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 [0x1400f4a88]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14005a22a
mov rcx, qword [rbp - 8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
mov ecx, dword [0x14009c140]
test ecx, ecx
je 0x14005a211
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140099acc
mov rax, rdi
test rsi, rsi
je 0x14005a185
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x14005a187
mov rcx, qword [rsi + 8]
jmp 0x14005a187
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 0x14005a1c2
test rdx, rdx
je 0x14005a1c2
lock dec qword [rdx]
jne 0x14005a1c2
lea rcx, [rbp - 0x10]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::hf2a241d43703bb56
mov rax, rsi
add rax, 0x10
jmp 0x14005a209
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 0x14005a0da
jmp 0x14005a0e5
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 0x14005a104
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 0x14005a15d
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
ud2
Function at 0x14005d630
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
test rdx, rdx
je 0x14005d64a
mov r8d, edx
and r8d, 3
cmp rdx, 4
jae 0x14005d64e
xor eax, eax
jmp 0x14005d6c5
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 0x14005d660
test r8, r8
je 0x14005d6ef
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 0x14005d6d0
and eax, 0xfffffff
pop rbp
ret

Function at 0x14005d700
Capabilities:
Hash data using djb2

Disassembly:
push rbp
mov rbp, rsp
test rdx, rdx
je 0x14005d720
mov r8d, edx
and r8d, 7
cmp rdx, 8
jae 0x14005d727
mov eax, 0x1505
jmp 0x14005d7ad
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 0x14005d730
test r8, r8
je 0x14005d7d9
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 0x14005d7c0
pop rbp
ret
Function at 0x14008cd30
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 0x14008cdba
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 0x14008cdb0
cmp r11, r10
ja 0x14008ce36
cmp r10, rdx
ja 0x14008ce48
add r11, r9
xor ebx, ebx
nop word cs:[rax + rax]
cmp rdi, rbx
je 0x14008cdb2
lea r14, [rbx + 1]
cmp byte [r11 + rbx], cl
mov rbx, r14
jne 0x14008cd90
jmp 0x14008ce17
ja 0x14008cdba
mov r11, r10
cmp rax, r8
jne 0x14008cd57
mov rdx, qword [rbp + 0x60]
test rdx, rdx
je 0x14008ce1b
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 0x14008cdf0
mov r8, r10
sub ecx, r9d
jns 0x14008ce0e
jmp 0x14008ce1d
cmp r10, rdx
je 0x14008ce2a
movzx r10d, byte [r8 + 1]
add r8, 2
and r9d, 0x7f
shl r9d, 8
or r9d, r10d
sub ecx, r9d
js 0x14008ce1d
xor al, 1
cmp r8, rdx
jne 0x14008cdd0
jmp 0x14008ce1d
xor eax, eax
jmp 0x14008ce1d
mov al, 1
and al, 1
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [0x1400e9830]
call sym.core::option::unwrap_failed::h511674c62460528b
lea r8, [0x1400e9848]
mov rcx, r11
mov rdx, r10
call sym.core::slice::index::slice_index_order_fail::hf943cfe51be07c4a
lea r8, [0x1400e9848]
mov rcx, r10
call sym.core::slice::index::slice_end_index_len_fail::ha4157f6c56c31a58
int3