Function at 0x4f9520
Capabilities:
Get client handle via schannel
Get outbound credentials handle via credssp

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1a4
xor edi, edi
mov ebx, edx
mov dword [ebp - 0x18], ecx
cmp edi, dword [edx + 0x18]
jo 0x4f955e
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x4f955e
mov ecx, dword [ebx + 0x1c]
xor edi, edi
nop word cs:[eax + eax]
nop
movzx edx, byte [ecx]
inc ecx
or edi, dword [edx*4 + 0x5b9480]
dec eax
jne 0x4f9550
mov eax, dword [ebx + 8]
xorps xmm1, xmm1
mov dword [ebp - 0x24], 0
movsd qword [ebp - 0x2c], xmm1
movsd qword [ebp - 0x3c], xmm1
movsd qword [ebp - 0x34], xmm1
movsd qword [ebp - 0x44], xmm1
movsd qword [ebp - 0x4c], xmm1
mov dword [ebp - 0x58], 4
mov dword [ebp - 0x28], 0x400010
mov dword [ebp - 0x38], edi
test eax, eax
mov dword [ebp - 0x14], eax
je 0x4f95da
mov ecx, dword [ebx + 4]
lea esi, [eax*4]
mov dword [ebp - 0x10], ecx
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, esi
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x4f9795
push esi
push dword [ebp - 0x10]
push eax
mov esi, eax
call sym._memcpy
mov ecx, esi
add esp, 0xc
mov eax, dword [ebp - 0x14]
xorps xmm1, xmm1
jmp 0x4f95df
mov ecx, 4
xor esi, esi
xorps xmm0, xmm0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x50], ecx
movsd qword [ebp - 0x8c], xmm1
movsd qword [ebp - 0x64], xmm1
mov dword [ebp - 0x5c], 0
cmp esi, dword [ebx + 0xc]
movups xmmword [ebp - 0x9c], xmm0
movups xmmword [ebp - 0x74], xmm0
movups xmmword [ebp - 0x84], xmm0
jno 0x4f96c4
push 0x5aeeec
call sub.kernel32.dll_GetModuleHandleW
test eax, eax
je 0x4f96d0
push str.RtlGetVersion
push eax
call sub.kernel32.dll_GetProcAddress
test eax, eax
je 0x4f96d0
mov ebx, eax
lea eax, [ebp - 0x1ac]
push 0x110
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x1b0], 0x114
lea eax, [ebp - 0x1b0]
push eax
call ebx
cmp dword [ebp - 0x1ac], 0xa
ja 0x4f9683
jne 0x4f96d0
cmp dword [ebp - 0x1a4], 0x4562
jbe 0x4f96d0
test edi, edi
je 0x4f968f
not edi
mov dword [ebp - 0x94], edi
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x84], 5
mov dword [ebp - 0x64], 0x400010
lea esi, [ebp - 0x84]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], ecx
jmp 0x4f96d0
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
test esi, esi
lea eax, [ebp - 0x58]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
cmovne eax, esi
lea ecx, [ebp - 0x20]
push 0
push ecx
push 0
push 0
push eax
push 0
push 2
push str.Microsoft_Unified_Security_Protocol_Provider
push 0
call sub.secur32.dll_AcquireCredentialsHandleA
test eax, eax
je 0x4f9730
mov ecx, dword [ebp - 0x18]
mov byte [ecx], 0
mov dword [ecx + 4], eax
cmp dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x10]
je 0x4f9725
push eax
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
add esp, 0x1a4
pop esi
pop edi
pop ebx
pop ebp
ret
movsd xmm0, qword [ebp - 0x20]
mov dword [ebp - 0x1b0], 1
mov dword [ebp - 0x1ac], 1
movsd qword [ebp - 0x1a8], xmm0
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, 0x10
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x4f97a1
movsd xmm0, qword [ebp - 0x1b0]
movsd xmm1, qword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x18]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [ecx + 4], eax
mov byte [ecx], 4
cmp dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x10]
jne 0x4f9717
jmp 0x4f9725
mov ecx, 4
mov edx, esi
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
lea edi, [ebp - 0x1a8]
mov ecx, 4
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h3ca6a9ac69c8e3db
ud2