Function at 0x4df3b0
Capabilities:
Encrypt data via sspi

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
mov eax, dword [ebp + 8]
mov esi, edx
mov ebx, ecx
mov dword [edx + 0x1c], eax
lea ecx, [ebp - 0x60]
call sym.schannel::tls_stream::TlsStream_LT_S_GT_::initialize::hd75e8e15815fb648
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x58]
cmp eax, 2
jne 0x4df3ed
cmp cl, 4
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edi
je 0x4df5c1
jmp 0x4df5eb
test eax, eax
je 0x4df48f
mov edx, dword [esi + 0x60]
mov eax, dword [esi + 0x50]
xor eax, edx
or eax, dword [esi + 0x54]
jne 0x4df5a8
mov dword [ebp - 0x14], edx
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x30], ecx
cmp eax, edx
cmovb edx, eax
mov eax, ecx
mov ecx, 0x5aa36c
add eax, edx
mov dword [ebp - 0x10], edx
jb 0x4df666
mov edx, dword [ebp - 0x14]
add edi, eax
jb 0x4df666
sub edi, edx
mov dword [ebp - 0x2c], eax
jbe 0x4df4a6
lea ecx, [esi + 0x58]
mov eax, dword [ecx]
sub eax, edx
cmp eax, edi
jae 0x4df456
push 1
push 1
push edi
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::h35901dc27c78f3f2
add esp, 0xc
mov edx, dword [esi + 0x60]
mov ecx, dword [esi + 0x5c]
cmp edi, 2
lea eax, [ecx + edx]
jb 0x4df483
mov dword [ebp - 0x24], ecx
lea ecx, [edi - 1]
push ecx
push 0
push eax
mov dword [ebp - 0x14], edx
call sub.msvcrt.dll_memset
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
add esp, 0xc
lea edx, [edx + edi - 1]
lea eax, [ecx + edx]
mov byte [eax], 0
mov eax, dword [ebp - 0x2c]
inc edx
mov dword [esi + 0x60], edx
jmp 0x4df4a9
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0x80090317
mov edi, 0x80090317
xor ecx, ecx
jmp 0x4df5eb
mov ecx, dword [esi + 0x5c]
mov edi, edx
mov dword [ebp - 0x24], ecx
sub edi, eax
mov dword [ebp - 0x14], edi
mov edi, edx
mov edx, dword [ebp - 0x10]
jb 0x4df66d
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x30]
mov ecx, eax
sub ecx, ebx
cmp ecx, edx
jne 0x4df680
mov edi, dword [ebp - 0x24]
add ebx, edi
push edx
push dword [ebp + 0xc]
push ebx
call sym._memcpy
add esp, 0xc
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x5c], 7
mov dword [ebp - 0x58], edi
add ecx, edi
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x44], 6
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x18], eax
lea eax, [esi + 0x80]
lea ecx, [ebp - 0x20]
push 0
push ecx
push 0
push eax
call sub.secur32.dll_EncryptMessage
test eax, eax
je 0x4df56c
mov ebx, dword [ebp - 0x28]
mov edi, eax
xor ecx, ecx
cmp cl, 4
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edi
je 0x4df5c1
jmp 0x4df5eb
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x28]
mov ecx, 0x5aa39c
add eax, dword [ebp - 0x54]
jb 0x4df666
add eax, dword [ebp - 0x48]
jb 0x4df666
cmp dword [esi + 0x60], eax
jb 0x4df591
mov dword [esi + 0x60], eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x54], 0
mov dword [esi + 0x50], 0
mov dword [esi + 0xb0], eax
lea ecx, [ebp - 0x60]
mov edx, esi
call sym.schannel::tls_stream::TlsStream_LT_S_GT_::write_out::h3a839757ce07637d
movzx ecx, byte [ebp - 0x60]
cmp cl, 4
jne 0x4df5d3
mov edi, dword [esi + 0xb0]
mov byte [ebx], 4
mov dword [ebx + 4], edi
mov dword [esi + 0x1c], 0
jmp 0x4df65e
movzx eax, byte [ebp - 0x5d]
movzx edx, word [ebp - 0x5f]
mov edi, dword [ebp - 0x5c]
mov byte [ebp - 0x1d], al
mov word [ebp - 0x1f], dx
mov byte [ebp - 0x20], cl
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], edi
mov edi, ecx
lea ecx, [ebp - 0x20]
call sym.std::io::error::Error::kind::hed2cab29b561864c
cmp al, 0xd
jne 0x4df64e
mov byte [ebx], 5
mov ebx, edi
mov dword [esi + 0x1c], 0
cmp bl, 3
jne 0x4df65e
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + 4]
mov esi, dword [edi]
mov eax, dword [ebx]
test eax, eax
je 0x4df621
push esi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x4df63e
cmp dword [ebx + 8], 9
jb 0x4df630
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
push edi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x4df65e
movsd xmm0, qword [ebp - 0x20]
mov dword [esi + 0x1c], 0
movsd qword [ebx], xmm0
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret
call sym.core::panicking::panic_const::panic_const_add_overflow::hf3b41c4c75c49a6d
jmp 0x4df68d
mov edx, edi
mov ecx, eax
push 0x5aa37c
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 4
jmp 0x4df68d
push 0x5aa38c
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::len_mismatch_fail::h5f426cd670fd0a03
add esp, 4
ud2