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

Disassembly:
push rbp
sub rsp, 0x40
lea rbp, [rsp + 0x40]
mov rax, r8
test rdx, rdx
je 0x14014eb38
add rsp, 0x40
pop rbp
ret
cmp word [rax], 0
je 0x14014eb5a
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 0x14014eb6f
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 0x14014eba0
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 0x140153200
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::hacdae04461f5ab18
mov rdi, rdx
test rax, rax
je 0x140153287
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_::h0fc9c81cf29452ee
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::h2986e79c4a04cc60
cmp dword [rbp + 8], 2
jne 0x1401532ab
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x40], 2
jmp 0x1401532da
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 0x140153303
lea rcx, [rbp - 0x38]
call sym.core::ptr::drop_in_place_std::io::error::Error_::h0fc9c81cf29452ee
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.140195904
mov r12, qword [rbp - 8]
test rdi, rdi
je 0x140153351
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 0x1401533cd
mov rbx, qword [rbp - 0x40]
jmp 0x140153353
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 0x1401533bc
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.140195904
test r15, r15
je 0x1401533bc
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], r12
mov qword [rsi], 1
jmp 0x1401533f6
mov qword [rsi], 0
mov rcx, rbx
call fcn.140195904
jmp 0x1401533f6
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_::h0fc9c81cf29452ee
mov qword [rsi], 0
mov rcx, rdi
call fcn.140195904
jmp 0x140153275
Function at 0x140155260
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 [0x140198198]
test ecx, ecx
je 0x140155296
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1401552af
cmp qword [rax + 8], 0
je 0x1401552af
add rax, 0x10
jmp 0x14015537a
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h82e4a72bc473c7be
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x140155286
mov ecx, dword [0x140198198]
test ecx, ecx
je 0x14015535b
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140155378
test rax, rax
jne 0x140155321
mov rax, qword [str.Ap3_]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14015539b
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h82e4a72bc473c7be
mov qword [rax], rcx
mov qword [rax + 8], 0
mov ecx, dword [0x140198198]
test ecx, ecx
je 0x140155382
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140195614
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x140155341
mov rdx, qword [rsi]
mov qword [rsi], 0
cmp rdx, 1
jne 0x140155341
mov rdx, qword [rsi + 8]
mov ecx, dword [rsi + 0x10]
jmp 0x140155343
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 0x14015537a
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h82e4a72bc473c7be
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1401552ce
xor eax, eax
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h82e4a72bc473c7be
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
mov rax, rdi
jmp 0x140155313
mov ecx, 8
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::hb769684bc32a98a2
int3
Function at 0x1401553b0
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 [0x1401981b8]
test ecx, ecx
je 0x1401553e5
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1401553fe
cmp byte [rax + 8], 0
je 0x1401553fe
add rax, 9
jmp 0x1401554b1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h017f0c9345733090
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1401553d6
mov ecx, dword [0x1401981b8]
test ecx, ecx
je 0x140155492
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x1401554af
test rax, rax
jne 0x14015546c
mov rax, qword [str.Ap3_]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1401554cf
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h017f0c9345733090
mov qword [rax], rcx
mov byte [rax + 8], 0
mov ecx, dword [0x1401981b8]
test ecx, ecx
je 0x1401554b9
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140195614
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x140155482
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 0x1401554b1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h017f0c9345733090
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14015541d
xor eax, eax
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h017f0c9345733090
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
mov rax, rdi
jmp 0x14015545e
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::hb769684bc32a98a2
int3
Function at 0x1401554e0
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 [0x1401981d8]
test ecx, ecx
je 0x140155515
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14015552e
cmp byte [rax + 8], 0
je 0x14015552e
add rax, 9
jmp 0x1401555e1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h017f0c9345733090
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x140155506
mov ecx, dword [0x1401981d8]
test ecx, ecx
je 0x1401555c2
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x1401555df
test rax, rax
jne 0x14015559c
mov rax, qword [str.Ap3_]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1401555ff
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h017f0c9345733090
mov qword [rax], rcx
mov byte [rax + 8], 0
mov ecx, dword [0x1401981d8]
test ecx, ecx
je 0x1401555e9
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140195614
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x1401555b2
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 0x1401555e1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h017f0c9345733090
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14015554d
xor eax, eax
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h017f0c9345733090
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
mov rax, rdi
jmp 0x14015558e
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::hb769684bc32a98a2
int3
Function at 0x140155610
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 [0x1401981f8]
test ecx, ecx
je 0x140155722
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x140155645
cmp qword [rax + 8], 0
jne 0x14015571c
mov ecx, dword [0x1401981f8]
test ecx, ecx
je 0x140155754
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140155771
test rax, rax
jne 0x1401556cb
mov qword [rbp - 0x10], 0
lea rax, sym.std::sys::thread_local::os_local::destroy_value::h01b2989e112ddd0d
mov qword [rbp - 0x18], rax
mov rax, qword [str.Ap3_]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140155794
mov rcx, qword [rbp - 8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
mov ecx, dword [0x1401981f8]
test ecx, ecx
je 0x14015577b
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140195614
mov rax, rdi
test rsi, rsi
je 0x140155744
mov rcx, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x140155744
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 0x14015571c
test rdx, rdx
je 0x14015571c
lock dec qword [rdx]
jne 0x14015571c
lea rcx, [rbp - 0x10]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::h05f17ef26a47e2fd
mov rax, rsi
add rax, 0x10
jmp 0x140155773
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h01b2989e112ddd0d
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14015563a
jmp 0x140155645
mov rsi, rax
call sym.std::sync::mpmc::context::Context::new::h5d8224977d22e014
mov rcx, rax
mov rax, rsi
jmp 0x1401556e1
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h01b2989e112ddd0d
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x140155664
xor eax, eax
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h01b2989e112ddd0d
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
mov rax, rdi
jmp 0x1401556bd
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hb769684bc32a98a2
ud2
Function at 0x1401557c0
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 [0x140198218]
test ecx, ecx
je 0x1401558d8
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1401557f5
cmp qword [rax + 8], 0
jne 0x1401558d2
mov ecx, dword [0x140198218]
test ecx, ecx
je 0x1401558fa
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140155917
test rax, rax
jne 0x14015587b
mov qword [rbp - 0x10], 0
lea rax, sym.std::sys::thread_local::os_local::destroy_value::hc7182efebada990d
mov qword [rbp - 0x18], rax
mov rax, qword [str.Ap3_]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14015593a
mov rcx, qword [rbp - 8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
mov ecx, dword [0x140198218]
test ecx, ecx
je 0x140155921
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140195614
mov rax, rdi
test rsi, rsi
je 0x140155895
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x140155897
mov rcx, qword [rsi + 8]
jmp 0x140155897
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 0x1401558d2
test rdx, rdx
je 0x1401558d2
lock dec qword [rdx]
jne 0x1401558d2
lea rcx, [rbp - 0x10]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::h3d78558d579e77a5
mov rax, rsi
add rax, 0x10
jmp 0x140155919
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::hc7182efebada990d
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1401557ea
jmp 0x1401557f5
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::hc7182efebada990d
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x140155814
xor eax, eax
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::hc7182efebada990d
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
mov rax, rdi
jmp 0x14015586d
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hb769684bc32a98a2
ud2
Function at 0x140155960
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 [0x140198238]
test ecx, ecx
je 0x140155a55
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x140155995
cmp qword [rax + 8], 0
jne 0x140155a4f
mov ecx, dword [0x140198238]
test ecx, ecx
je 0x140155a77
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140155a94
test rax, rax
jne 0x140155a0b
mov rax, qword [str.Ap3_]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140155ab7
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h82e4a72bc473c7be
mov qword [rax], rcx
mov qword [rax + 8], 0
mov ecx, dword [0x140198238]
test ecx, ecx
je 0x140155a9e
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140195614
mov rax, rdi
test rsi, rsi
je 0x140155a24
mov rcx, qword [rsi]
movups xmm0, xmmword [rsi + 8]
mov qword [rsi], 0
cmp rcx, 1
je 0x140155a43
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 0x140155a96
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h82e4a72bc473c7be
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14015598a
jmp 0x140155995
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h82e4a72bc473c7be
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1401559b4
xor eax, eax
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h82e4a72bc473c7be
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
mov rax, rdi
jmp 0x1401559fd
mov ecx, 8
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::hb769684bc32a98a2
int3
Function at 0x140155ad0
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 [0x140198258]
test ecx, ecx
je 0x140155be8
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x140155b05
cmp qword [rax + 8], 0
jne 0x140155be2
mov ecx, dword [0x140198258]
test ecx, ecx
je 0x140155c0a
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140155c27
test rax, rax
jne 0x140155b8b
mov qword [rbp - 0x10], 0
lea rax, sym.std::sys::thread_local::os_local::destroy_value::heb076d3a13a002f3
mov qword [rbp - 0x18], rax
mov rax, qword [str.Ap3_]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140155c4a
mov rcx, qword [rbp - 8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
mov ecx, dword [0x140198258]
test ecx, ecx
je 0x140155c31
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140195614
mov rax, rdi
test rsi, rsi
je 0x140155ba5
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x140155ba7
mov rcx, qword [rsi + 8]
jmp 0x140155ba7
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 0x140155be2
test rdx, rdx
je 0x140155be2
lock dec qword [rdx]
jne 0x140155be2
lea rcx, [rbp - 0x10]
mov rsi, rax
call sym.alloc::sync::Arc_T_A_::drop_slow::h051850e9301085bc
mov rax, rsi
add rax, 0x10
jmp 0x140155c29
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::heb076d3a13a002f3
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x140155afa
jmp 0x140155b05
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::heb076d3a13a002f3
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x140155b24
xor eax, eax
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::heb076d3a13a002f3
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
mov rax, rdi
jmp 0x140155b7d
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hb769684bc32a98a2
ud2
Function at 0x140159050
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
test rdx, rdx
je 0x14015906a
mov r8d, edx
and r8d, 3
cmp rdx, 4
jae 0x14015906e
xor eax, eax
jmp 0x1401590e5
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 0x140159080
test r8, r8
je 0x14015910f
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 0x1401590f0
and eax, 0xfffffff
pop rbp
ret

Function at 0x140159120
Capabilities:
Hash data using djb2

Disassembly:
push rbp
mov rbp, rsp
test rdx, rdx
je 0x140159140
mov r8d, edx
and r8d, 7
cmp rdx, 8
jae 0x140159147
mov eax, 0x1505
jmp 0x1401591cd
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 0x140159150
test r8, r8
je 0x1401591f9
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 0x1401591e0
pop rbp
ret
Function at 0x140188880
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 0x14018890a
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 0x140188900
cmp r11, r10
ja 0x140188986
cmp r10, rdx
ja 0x140188998
add r11, r9
xor ebx, ebx
nop word cs:[rax + rax]
cmp rdi, rbx
je 0x140188902
lea r14, [rbx + 1]
cmp byte [r11 + rbx], cl
mov rbx, r14
jne 0x1401888e0
jmp 0x140188967
ja 0x14018890a
mov r11, r10
cmp rax, r8
jne 0x1401888a7
mov rdx, qword [rbp + 0x60]
test rdx, rdx
je 0x14018896b
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 0x140188940
mov r8, r10
sub ecx, r9d
jns 0x14018895e
jmp 0x14018896d
cmp r10, rdx
je 0x14018897a
movzx r10d, byte [r8 + 1]
add r8, 2
and r9d, 0x7f
shl r9d, 8
or r9d, r10d
sub ecx, r9d
js 0x14018896d
xor al, 1
cmp r8, rdx
jne 0x140188920
jmp 0x14018896d
xor eax, eax
jmp 0x14018896d
mov al, 1
and al, 1
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [0x1402f9e30]
call sym.core::option::unwrap_failed::h901404c951d91a1a
lea r8, [0x1402f9e48]
mov rcx, r11
mov rdx, r10
call sym.core::slice::index::slice_index_order_fail::hcfd1b23bc79fe2d7
lea r8, [0x1402f9e48]
mov rcx, r10
call sym.core::slice::index::slice_end_index_len_fail::h560bfdf2cda73161
int3