joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140010480
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rax, rdx
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov ebx, ecx
shr ebx, 8
lea r8, [rax + r8*2]
xor r11d, r11d
mov r15, rax
movzx r14d, byte [rax + 1]
add rax, 2
lea r10, [r11 + r14]
cmp byte [r15], bl
jne 0x140010510
cmp r11, r10
ja 0x140010586
cmp r10, rdx
ja 0x14001059a
add r11, r9
xor r15d, r15d
nop word cs:[rax + rax]
cmp r14, r15
je 0x140010512
lea r12, [r15 + 1]
cmp byte [r11 + r15], cl
mov r15, r12
jne 0x1400104f0
jmp 0x140010574
ja 0x14001051a
mov r11, r10
cmp rax, r8
jne 0x1400104b4
add rsi, rdi
movzx ecx, cx
mov al, 1
nop word cs:[rax + rax]
lea r8, [rdi + 1]
movzx edx, byte [rdi]
test dl, dl
js 0x140010550
mov rdi, r8
sub ecx, edx
jns 0x14001056b
jmp 0x140010576
cmp r8, rsi
je 0x1400105ab
movzx r8d, byte [rdi + 1]
add rdi, 2
and edx, 0x7f
shl edx, 8
or edx, r8d
sub ecx, edx
js 0x140010576
xor al, 1
cmp rdi, rsi
jne 0x140010530
jmp 0x140010576
xor eax, eax
and al, 1
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r11
mov rdx, r10
call dbg.slice_index_order_fail
ud2
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r10
call dbg.slice_end_index_len_fail
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str.librarycore_srcunicodeprintable.rs
mov edx, 0x2b
call dbg.panic
ud2

Function at 0x14001432c
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rdx
mov rdi, rcx
mov rbx, qword [rcx]
xor ecx, ecx
test rbx, rbx
setne cl
call sym.core::hash::impls::__impl_core::hash::Hash_for_isize_::hash::h5cecb25d420d4154
test rbx, rbx
je 0x140014365
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
mov rcx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp sym.__fnv::FnvHasher_as_core::hash::Hasher_::write::hae869fbe2fa8553f
mov cl, byte [rdi + 8]
mov rdx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp sym.__http::header::name::StandardHeader_as_core::hash::Hash_::hash::h9ab8c071c09b26fa

Function at 0x14001437f
Capabilities:
Hash data using fnv

Disassembly:
mov rax, qword [rcx]
xor r9d, r9d
movabs r10, 0x100000001b3
cmp r8, r9
je 0x1400143a5
movzx r11d, byte [rdx + r9]
xor rax, r11
imul rax, r10
inc r9
jmp 0x14001438f
mov qword [rcx], rax
ret
Function at 0x14003e2e2
Capabilities:
Decrypt data via sspi

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rdi, rdx
mov rsi, rcx
mov r8, qword [rdx + 0x98]
mov rcx, qword [rdx + 0x80]
mov rdx, qword [rdx + 0x90]
lea r9, [0x1400f2ac0]
call sym.__alloc::vec::Vec_T_A__as_core::ops::index::IndexMut_I__::index_mut::heba1365844e9a597
xor ecx, ecx
test rax, rax
cmove edx, ecx
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movups xmmword [rcx + 0x30], xmm0
mov dword [rcx], edx
mov dword [rcx + 4], 1
mov qword [rcx + 8], rax
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm0
movabs rax, 0x400000000
lea rdx, [rsp + 0x60]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
lea rcx, [rdi + 0xc0]
xor r8d, r8d
xor r9d, r9d
call sub.secur32.dll_DecryptMessage
cmp eax, 0x80090318
je 0x14003e3bf
test eax, eax
je 0x14003e3db
cmp eax, 0x90317
je 0x14003e454
cmp eax, 0x90321
jne 0x14003e45c
mov dword [rdi + 0x40], 0x10000
xor ebx, ebx
mov byte [rdi + 0x44], bl
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0x98]
mov eax, 0
cmove eax, dword [rsp + 0x50]
sub rdx, rax
mov rcx, rdi
call sym.schannel::tls_stream::TlsStream_S_::consume_enc_in::hf138f51925acfd04
and qword [rdi + 0xf8], 0
mov byte [rsi + 1], bl
jmp 0x14003e46a
cmp dword [rsp + 0x34], 4
mov eax, 1
cmove eax, dword [rsp + 0x30]
mov qword [rdi + 0xf8], rax
mov byte [rsi + 1], 0
jmp 0x14003e458
mov r8, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x80]
mov rdx, qword [rdi + 0x90]
sub r8, rcx
mov r9d, dword [rsp + 0x30]
add r9, r8
lea rbx, [rdi + 0x60]
and qword [rdi + 0x70], 0
call sym.__alloc::vec::Vec_T_A__as_core::ops::index::Index_I__::index::he7be156f99719f23
lea r8, [rdx + rax]
mov rcx, rbx
mov rdx, rax
call fcn.1400343de
and qword [rdi + 0x78], 0
xor ebx, ebx
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0x98]
mov eax, dword [rsp + 0x50]
cmovne eax, ebx
sub rdx, rax
mov rcx, rdi
call sym.schannel::tls_stream::TlsStream_S_::consume_enc_in::hf138f51925acfd04
xor eax, eax
cmp qword [rdi + 0x98], rbx
sete al
mov qword [rdi + 0xf8], rax
mov byte [rsi + 1], 0
jmp 0x14003e46a
mov byte [rsi + 1], 1
xor ebx, ebx
jmp 0x14003e46a
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov bl, 1
mov byte [rsi], bl
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
Function at 0x14003e78b
Capabilities:
Decrypt data via sspi

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rdi, rdx
mov rsi, rcx
mov r8, qword [rdx + 0x198]
mov rcx, qword [rdx + 0x180]
mov rdx, qword [rdx + 0x190]
lea r9, [0x1400f2ac0]
call sym.__alloc::vec::Vec_T_A__as_core::ops::index::IndexMut_I__::index_mut::heba1365844e9a597
xor ecx, ecx
test rax, rax
cmove edx, ecx
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movups xmmword [rcx + 0x30], xmm0
mov dword [rcx], edx
mov dword [rcx + 4], 1
mov qword [rcx + 8], rax
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm0
movabs rax, 0x400000000
lea rdx, [rsp + 0x60]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
lea rcx, [rdi + 0x1c0]
xor r8d, r8d
xor r9d, r9d
call sub.secur32.dll_DecryptMessage
cmp eax, 0x80090318
je 0x14003e86e
test eax, eax
je 0x14003e88d
cmp eax, 0x90317
je 0x14003e90f
cmp eax, 0x90321
jne 0x14003e917
mov dword [rdi + 0x140], 0x10000
xor ebx, ebx
mov byte [rdi + 0x144], bl
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0x198]
mov eax, 0
cmove eax, dword [rsp + 0x50]
sub rdx, rax
mov rcx, rdi
call sym.schannel::tls_stream::TlsStream_S_::consume_enc_in::hc2cc117a86a0d6c0
and qword [rdi + 0x1f8], 0
mov byte [rsi + 1], bl
jmp 0x14003e925
cmp dword [rsp + 0x34], 4
mov eax, 1
cmove eax, dword [rsp + 0x30]
mov qword [rdi + 0x1f8], rax
mov byte [rsi + 1], 0
jmp 0x14003e913
mov r8, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x180]
mov rdx, qword [rdi + 0x190]
sub r8, rcx
mov r9d, dword [rsp + 0x30]
add r9, r8
lea rbx, [rdi + 0x160]
and qword [rdi + 0x170], 0
call sym.__alloc::vec::Vec_T_A__as_core::ops::index::Index_I__::index::he7be156f99719f23
lea r8, [rdx + rax]
mov rcx, rbx
mov rdx, rax
call fcn.1400343de
and qword [rdi + 0x178], 0
xor ebx, ebx
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0x198]
mov eax, dword [rsp + 0x50]
cmovne eax, ebx
sub rdx, rax
mov rcx, rdi
call sym.schannel::tls_stream::TlsStream_S_::consume_enc_in::hc2cc117a86a0d6c0
xor eax, eax
cmp qword [rdi + 0x198], rbx
sete al
mov qword [rdi + 0x1f8], rax
mov byte [rsi + 1], 0
jmp 0x14003e925
mov byte [rsi + 1], 1
xor ebx, ebx
jmp 0x14003e925
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov bl, 1
mov byte [rsi], bl
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret

Function at 0x14003e92f
Capabilities:
Receive data
Receive data on socket

Disassembly:
cmp dword [rcx], 2
jne sym.__tokio_native_tls::TlsStream_S__as_tokio::io::async_read::AsyncRead_::poll_read::hd0bf3e68327e0f7e
add rcx, 8
jmp sym.__tokio::net::tcp::stream::TcpStream_as_tokio::io::async_read::AsyncRead_::poll_read::h36c2b001a3ff8b57
Function at 0x140041ff9
Capabilities:
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x348
mov rbx, rdx
mov qword [rsp + 0x50], rcx
movzx eax, byte [rdx + 0x378]
test eax, eax
mov qword [rsp + 0x58], r8
je 0x14004204a
cmp eax, 3
jne case.default.0x140042048
mov r15, r8
lea r12, [rbx + 0x1f0]
movzx eax, byte [rbx + 0x280]
lea rcx, [0x1400c0f3c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rbx]
mov rcx, qword [rbx + 8]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rcx
and qword [rbx + 0x20], 0
mov qword [rbx + 0x40], rax
jmp 0x140042077
lea rcx, str._async_fn__resumed_after_completionunable_to_find_any_user_specified_roots_in_the_final_cert_chainC:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_util_0.7.10_srcutilpoll_buf.rs
lea r8, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcclientconnecthttp.rs
jmp 0x140042a49
Function at 0x1400789f0
Capabilities:
Query or enumerate registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rax, r8
mov r14, rdx
mov rsi, rcx
lea rdi, [rsp + 0x58]
mov r8d, 0xb
mov rcx, rdi
mov rdx, rax
call sym.winreg::common::to_utf16::h74b9b5802da5db76
lea r13, [rsp + 0x38]
mov dword [r13], 0x800
lea r15, [rsp + 0x3c]
and dword [r15], 0
mov ecx, 0x800
call sym.alloc::raw_vec::RawVec_T_A_::allocate_in::h55ef381d2ac2222a
mov rbx, rax
lea r12, [rsp + 0x40]
mov qword [r12], rax
mov qword [r12 + 8], rdx
and qword [r12 + 0x10], 0
mov rdi, qword [rdi]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rbx
mov rcx, r14
mov rdx, rdi
xor r8d, r8d
mov r9, r15
call sub.advapi32.dll_RegQueryValueExW
cmp eax, 0xea
jne 0x140078a8d
mov edx, dword [rsp + 0x38]
mov rcx, r12
call sym.alloc::vec::Vec_T_A_::reserve::h074322f591760c9f
mov rbx, qword [rsp + 0x40]
jmp 0x140078a58
test eax, eax
jne 0x140078aaf
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x3c]
cmp eax, 0xb
jbe 0x140078acd
movabs rax, 0xde00000002
jmp 0x140078ab7
shl rax, 0x20
or rax, 2
mov qword [rsi], rax
mov byte [rsi + 0x18], 0xc
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
call sym.__alloc::raw_vec::RawVec_T_A__as_core::ops::drop::Drop_::drop::h201efe391f01b88a
jmp 0x140078ae1
mov rcx, qword [rsp + 0x50]
mov qword [rsi + 0x10], rcx
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsi], xmm0
mov byte [rsi + 0x18], al
mov rdx, qword [rsp + 0x60]
mov rcx, rdi
call sym.__alloc::raw_vec::RawVec_T_A__as_core::ops::drop::Drop_::drop::h2c77e87801965552
nop
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret

Function at 0x14007cf80
Capabilities:
Encode data using xor

Disassembly:
mov rax, rdx
sub rdx, rcx
cmp rdx, 0x20
jae dbg.do_count_chars
cmp rax, rcx
je 0x14007cfa5
cmp rdx, 4
jae 0x14007cfa8
xor eax, eax
xor r8d, r8d
jmp 0x14007d040
xor eax, eax
ret
mov r8, rdx
and r8, 0xfffffffffffffffc
pxor xmm0, xmm0
xor eax, eax
movdqa xmm2, xmmword [0x1400c1890]
movdqa xmm3, xmmword [0x1400c18a0]
pxor xmm1, xmm1
nop dword [rax]
movzx r9d, word [rcx + rax]
movd xmm4, r9d
movzx r9d, word [rcx + rax + 2]
movd xmm5, r9d
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm0, xmm4
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm4, xmm5, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm1, xmm4
add rax, 4
cmp r8, rax
jne 0x14007cfd0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rax, xmm0
cmp r8, rdx
je 0x14007d057
nop dword [rax]
xor r9d, r9d
cmp byte [rcx + r8], 0xc0
setge r9b
add rax, r9
inc r8
cmp rdx, r8
jne 0x14007d040
ret
Function at 0x14007dfc0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
mov rsi, rcx
mov r8, qword [rcx]
test r8, r8
je 0x14007e01b
mov r10, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
cmp rcx, r10
jae 0x14007e01b
movzx eax, byte [r8 + rcx]
cmp eax, 0x49
je 0x14007e036
cmp eax, 0x42
jne 0x14007e01b
lea r11, [rcx + 1]
mov qword [rsi + 0x10], r11
cmp r11, r10
jae 0x14007e0e6
cmp byte [r8 + r11], 0x5f
jne 0x14007e0e6
lea rax, [rcx + 2]
mov qword [rsi + 0x10], rax
xor eax, eax
jmp 0x14007e14e
mov rcx, rsi
xor edx, edx
call dbg.print_path
mov edi, eax
add dil, dil
mov eax, edi
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
ret
inc rcx
mov qword [rsi + 0x10], rcx
mov rcx, rsi
xor edx, edx
call dbg.print_path
test al, al
jne 0x14007e1e1
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x14007e072
lea rdx, [0x1400f49db]
mov r8d, 1
call dbg.pad
test al, al
jne 0x14007e1e1
mov rax, qword [rsi]
mov dil, 1
test rax, rax
je 0x14007e02a
xor r14d, r14d
lea rbx, [0x1400f4d49]
nop word [rax + rax]
mov rcx, qword [rsi + 0x10]
cmp rcx, qword [rsi + 8]
jae 0x14007e0a4
cmp byte [rax + rcx], 0x45
je 0x14007e203
sub r14, 1
jb 0x14007e0c9
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x14007e0c9
mov r8d, 2
mov rdx, rbx
call dbg.pad
test al, al
jne 0x14007e1e1
mov rcx, rsi
call dbg.print_generic_arg
test al, al
jne 0x14007e1e1
mov rax, qword [rsi]
test rax, rax
jne 0x14007e090
jmp 0x14007e02a
xor eax, eax
mov edi, 0x3e
nop dword [rax]
mov r9b, 1
cmp r11, r10
jae 0x14007e1a8
movzx edx, byte [r8 + r11]
cmp dl, 0x5f
je 0x14007e142
lea ebx, [rdx - 0x30]
cmp bl, 0xa
jb 0x14007e12c
lea ebx, [rdx - 0x61]
cmp bl, 0x1a
jae 0x14007e11b
add dl, 0xa9
jmp 0x14007e12a
lea ebx, [rdx - 0x41]
cmp bl, 0x1a
jae 0x14007e1a8
add dl, 0xe3
mov ebx, edx
inc r11
mov qword [rsi + 0x10], r11
mul rdi
jo 0x14007e1a8
movzx edx, bl
add rax, rdx
jae 0x14007e0f0
jmp 0x14007e1a8
inc r11
mov qword [rsi + 0x10], r11
inc rax
je 0x14007e1a8
cmp rax, rcx
jae 0x14007e1a5
mov ecx, dword [rsi + 0x18]
inc ecx
cmp ecx, 0x1f4
ja 0x14007e1fb
cmp qword [rsi + 0x20], 0
je 0x14007e1f4
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x18], ecx
mov rcx, rsi
call dbg.print_path_maybe_open_generics
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
jmp 0x14007e02c
mov r9b, 1
xor edi, edi
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x14007e1e9
mov eax, r9d
xor al, 1
movzx eax, al
lea r8, [rax + rax*8]
add r8, 0x10
lea rax, str.invalid_syntaxrecursion_limit_reached_for_____::closureshim_as__mut_const___dyn___unsafe_extern__
lea rdx, [0x1400f4d28]
test r9b, r9b
cmovne rdx, rax
call dbg.pad
test al, al
je 0x14007e1e9
mov dil, 2
jmp 0x14007e02a
mov qword [rsi], 0
mov byte [rsi + 8], dil
xor edi, edi
jmp 0x14007e02a
mov dil, 1
xor r9d, r9d
jmp 0x14007e1aa
inc rcx
mov qword [rsi + 0x10], rcx
jmp 0x14007e02a
Function at 0x140080ec3
Capabilities:
Get client handle via schannel
Get outbound credentials handle via credssp

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc0
movaps xmmword [rsp + 0xb0], xmm6
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x60], 4
mov dword [rsp + 0xa8], 0x400010
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x140080f2c
mov edx, dword [rcx + 0x28]
mov dword [rsp + 0x88], edx
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x140080f62
mov r8, qword [rcx + 0x40]
xor edx, edx
test r8, r8
je 0x140080f5b
lea r9, [0x140124cd8]
xor r10d, r10d
movzx r11d, byte [rax + r10]
or edx, dword [r9 + r11*4]
inc r10
cmp r8, r10
jne 0x140080f4a
mov dword [rsp + 0x98], edx
mov r15, qword [rcx + 0x10]
lea rsi, [r15*8]
test r15, r15
je 0x140080fb3
mov rax, r15
shr rax, 0x3c
jne 0x140081067
mov rbx, qword [rcx]
mov ecx, 8
mov rdx, rsi
call sym._ZN5alloc5alloc6Global10alloc_impl17h4bbe59abe21e5819E.1054
test rax, rax
je 0x14008106e
mov rdi, rax
xor eax, eax
mov rcx, qword [rbx + rax*8]
mov qword [rdi + rax*8], rcx
inc rax
cmp r15, rax
jne 0x140080f9e
mov eax, r15d
jmp 0x140080fba
xor eax, eax
mov edi, 8
lea rcx, [rsp + 0x60]
mov dword [rcx + 4], eax
mov qword [rcx + 8], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], rcx
and qword [rsp + 0x40], 0
lea rdx, [0x1400f7be3]
xor ecx, ecx
mov r8d, 2
xor r9d, r9d
call sub.secur32.dll_AcquireCredentialsHandleA
test eax, eax
je 0x140081010
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov r14d, 1
jmp 0x140081035
movaps xmm6, xmmword [rsp + 0x50]
mov ecx, 0x20
call sym._ZN5alloc5alloc15exchange_malloc17hd75bdc3075ee380cE.337
mov rbx, rax
mov eax, 1
mov qword [rbx], rax
mov qword [rbx + 8], rax
movups xmmword [rbx + 0x10], xmm6
xor r14d, r14d
test r15, r15
je 0x14008104a
mov edx, 8
mov rcx, rdi
mov r8, rsi
call sym.__alloc::alloc::Global_as_core::alloc::Allocator_::deallocate::h2667bb4a4e1dee12
mov rax, r14
mov rdx, rbx
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call sym.alloc::raw_vec::capacity_overflow::ha436ff5e70868f37
ud2
mov ecx, 8
mov rdx, rsi
call dbg.handle_alloc_error
ud2

Function at 0x1400815d5
Capabilities:
Get remote cert context via schannel

Disassembly:
sub rsp, 0x28
lea r8, [rsp + 0x20]
and qword [r8], 0
mov edx, 0x53
call sub.secur32.dll_QueryContextAttributesW
mov edx, eax
xor eax, eax
test edx, edx
setne cl
jne 0x1400815fe
mov rdx, qword [rsp + 0x20]
jmp 0x140081606
shl rdx, 0x20
or rdx, 2
mov al, cl
add rsp, 0x28
ret
Function at 0x140083ce3
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov eax, edx
lea r9, [rsp + 0x34]
mov dword [r9], r8d
mov dword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, eax
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140083d0f
xor eax, eax
jmp 0x140083d14
call sym.std::io::error::Error::last_os_error::hc76c3db19144688c
nop
add rsp, 0x38
ret

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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
movzx eax, byte [0x140135158]
test al, al
je 0x14008458f
test edx, edx
je 0x140084417
cmp edx, 3
jne 0x14008458f
mov rbx, qword [0x140135160]
test rbx, rbx
je 0x14008458f
xor r14d, r14d
jmp 0x140084439
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x14008446d
mov esi, dword [rbx + 0x18]
mov r15, qword [rbx]
test r15, r15
je 0x1400845da
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
test rax, rax
je 0x140084430
mov rdi, rax
mov ecx, esi
xor edx, edx
call sub.kernel32.dll_TlsSetValue
mov rcx, rdi
call r15
mov r14b, 1
jmp 0x140084430
test r14b, 1
je 0x14008458f
mov rbx, qword [0x140135160]
test rbx, rbx
je 0x14008458f
xor r14d, r14d
jmp 0x140084499
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x1400844cd
mov esi, dword [rbx + 0x18]
mov r15, qword [rbx]
test r15, r15
je 0x1400845da
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
test rax, rax
je 0x140084490
mov rdi, rax
mov ecx, esi
xor edx, edx
call sub.kernel32.dll_TlsSetValue
mov rcx, rdi
call r15
mov r14b, 1
jmp 0x140084490
test r14b, 1
je 0x14008458f
mov rbx, qword [0x140135160]
test rbx, rbx
je 0x14008458f
xor r14d, r14d
jmp 0x1400844f9
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x14008452d
mov esi, dword [rbx + 0x18]
mov r15, qword [rbx]
test r15, r15
je 0x1400845da
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
test rax, rax
je 0x1400844f0
mov rdi, rax
mov ecx, esi
xor edx, edx
call sub.kernel32.dll_TlsSetValue
mov rcx, rdi
call r15
mov r14b, 1
jmp 0x1400844f0
test r14b, 1
je 0x14008458f
mov rbx, qword [0x140135160]
test rbx, rbx
je 0x14008458f
xor r14d, r14d
jmp 0x140084559
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140084589
mov esi, dword [rbx + 0x18]
mov r15, qword [rbx]
test r15, r15
je 0x1400845da
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
test rax, rax
je 0x140084550
mov rdi, rax
mov ecx, esi
xor edx, edx
call sub.kernel32.dll_TlsSetValue
mov rcx, rdi
call r15
mov r14b, 1
jmp 0x140084550
test r14b, 1
jne 0x14008459b
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rbx, qword [0x140135160]
jmp 0x1400845a8
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x14008458f
mov esi, dword [rbx + 0x18]
mov r14, qword [rbx]
test r14, r14
je 0x1400845da
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
test rax, rax
je 0x1400845a4
mov rdi, rax
mov ecx, esi
xor edx, edx
call sub.kernel32.dll_TlsSetValue
mov rcx, rdi
call r14
jmp 0x1400845a4
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str.library_std_src_syswindows_thread_local_key.rs
mov edx, 0x2b
call dbg.panic
ud2
Function at 0x140085130
Capabilities:
Allocate thread local storage

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rsi, rcx
cmp qword [rcx], 0
je 0x1400851b5
mov dword [rsp + 0x2c], 0
lea rbx, [rsi + 0x10]
lea r8, [rsp + 0x2c]
mov rcx, rbx
xor edx, edx
xor r9d, r9d
call sub.kernel32.dll_InitOnceBeginInitialize
mov dword [rsp + 0x28], eax
cmp eax, 1
jne 0x1400851f6
cmp dword [rsp + 0x2c], 0
je 0x1400851da
call sub.kernel32.dll_TlsAlloc
cmp eax, 0xffffffff
je 0x14008521e
mov edi, eax
inc eax
mov dword [rsi + 0x18], eax
mov rax, qword [0x140135160]
nop
mov qword [rsi + 8], rax
lock cmpxchg qword [0x140135160], rsi
jne 0x140085190
mov byte [0x140135158], 1
mov rcx, rbx
xor edx, edx
xor r8d, r8d
call sub.kernel32.dll_InitOnceComplete
jmp 0x1400851ec
call sub.kernel32.dll_TlsAlloc
mov dword [rsp + 0x28], eax
cmp eax, 0xffffffff
je 0x14008526a
mov ecx, eax
inc ecx
xor eax, eax
lock cmpxchg dword [rsi + 0x18], ecx
jne 0x1400851df
mov edi, dword [rsp + 0x28]
jmp 0x1400851ec
mov edi, dword [rsi + 0x18]
jmp 0x1400851ea
mov edi, eax
mov ecx, dword [rsp + 0x28]
call sub.kernel32.dll_TlsFree
dec edi
mov eax, edi
add rsp, 0x60
pop rbx
pop rdi
pop rsi
ret
mov qword [rsp + 0x30], 0
lea rdx, [0x1400fbc78]
lea r9, str.library_std_src_syswindows_thread_local_key.rs
lea rcx, [rsp + 0x28]
lea r8, [rsp + 0x30]
call dbg.assert_failed<i32, i32>
ud2
mov rcx, rbx
mov edx, 4
xor r8d, r8d
call sub.kernel32.dll_InitOnceComplete
lea rax, str.out_of_TLS_indexes
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
lea rax, [0x140123f00]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rdx, str.library_std_src_syswindows_thread_local_key.rs
lea rcx, [rsp + 0x30]
call dbg.panic_fmt
ud2
lea rax, str.out_of_TLS_indexes
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
lea rax, [0x140123f00]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x30]
call dbg.assert_failed<u32, u32>
ud2
Function at 0x140085720
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov ecx, dword [0x1400bf080]
test ecx, ecx
je 0x140085800
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x140085754
mov rdi, rax
cmp qword [rax + 8], 0
je 0x140085754
add rdi, 0x10
jmp 0x1400857f6
mov ecx, dword [0x1400bf080]
test ecx, ecx
je 0x140085813
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x1400857f4
mov rsi, rax
test rax, rax
jne 0x1400857c3
movzx eax, byte [0x1401351c0]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140085836
mov rsi, rax
lea rax, str._Y_b_
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x1400bf080]
test ecx, ecx
je 0x140085826
dec ecx
mov rdx, rsi
call sub.kernel32.dll_TlsSetValue
lea rdi, [rsi + 0x10]
mov rcx, qword [rsi + 0x10]
cmp qword [rsi + 8], 0
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], 0
je 0x1400857f6
test rcx, rcx
je 0x1400857f6
lock dec qword [rcx]
jne 0x1400857f6
call dbg.drop_slow<std::thread::Inner, alloc::alloc::Global>
jmp 0x1400857f6
xor edi, edi
mov rax, rdi
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, str._Y_b_
call dbg.init
mov ecx, eax
jmp 0x140085736
lea rcx, str._Y_b_
call dbg.init
mov ecx, eax
jmp 0x140085764
lea rcx, str._Y_b_
call dbg.init
mov ecx, eax
jmp 0x1400857bb
mov ecx, 8
mov edx, 0x18
call dbg.handle_alloc_error
ud2

Function at 0x140085920
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 0x140085937
dec ecx
jmp 0x140085941
mov rcx, rdi
call dbg.init
mov ecx, eax
mov edx, 1
call sub.kernel32.dll_TlsSetValue
cmp qword [rsi + 8], 0
je 0x14008596a
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x14008596a
lock dec qword [rax]
jne 0x14008596a
mov rcx, qword [rsi + 0x10]
call dbg.drop_slow<std::thread::Inner, alloc::alloc::Global>
mov edx, 8
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x140085982
dec ecx
jmp 0x14008598c
mov rcx, rdi
call dbg.init
mov ecx, eax
xor edx, edx
add rsp, 0x28
pop rdi
pop rsi
jmp sub.kernel32.dll_TlsSetValue