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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x49c
mov eax, dword [str.W__a]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x498], ecx
xor eax, eax
je 0x59d059
mov ecx, dword [ebp - 0x498]
add ecx, 0x7c
push ecx
push str.BeginSSL:
push 0
push 0
push 0
push 1
push 0
push 0
lea ecx, [ebp - 0xc8]
call fcn.00574170
mov ecx, eax
call fcn.0056f550
push eax
call fcn.004016a0
add esp, 8
push eax
call fcn.00409f20
add esp, 8
lea ecx, [ebp - 0xc8]
call fcn.00574580
jmp 0x59d009
mov dword [ebp - 0x444], 0
push 0x34
push 0
lea edx, [ebp - 0x440]
push edx
call fcn.0054e420
add esp, 0xc
mov dword [ebp - 0x444], 4
mov dword [ebp - 0x414], 0x30
push 0
mov eax, dword [ebp - 0x498]
mov ecx, dword [eax + 0x9c]
push ecx
push 0
push 0
lea edx, [ebp - 0x444]
push edx
push 0
push 2
push str.Microsoft_Unified_Security_Protocol_Provider
push 0
call dword [sym.imp.Secur32.dll_AcquireCredentialsHandleW]
mov dword [ebp - 0x470], eax
cmp dword [ebp - 0x470], 0
je 0x59d13c
xor eax, eax
je 0x59d131
push 0x5cb020
mov ecx, dword [ebp - 0x470]
push ecx
lea edx, [ebp - 0xe4]
push edx
call fcn.005740e0
add esp, 0xc
push eax
push str.AcquireCredentialsHandle_error:
push 0
push 0
push 0
push 4
push 0
push 0
lea ecx, [ebp - 0x1a8]
call fcn.00574170
mov ecx, eax
call fcn.0056f550
push eax
call fcn.004016a0
add esp, 8
push eax
call fcn.00409f20
add esp, 8
lea ecx, [ebp - 0x1a8]
call fcn.00574580
lea ecx, [ebp - 0xe4]
call fcn.004c0ca0
jmp 0x59d0c4
mov eax, dword [ebp - 0x470]
jmp 0x59d49b
mov eax, dword [ebp - 0x498]
mov ecx, dword [eax + 0x9c]
mov byte [ecx + 0x10], 1
xor edx, edx
je 0x59d3ac
mov dword [ebp - 0x480], 0
xor eax, eax
mov dword [ebp - 0x47c], eax
lea ecx, [ebp - 0x480]
push ecx
push 0x57
mov edx, dword [ebp - 0x498]
mov eax, dword [edx + 0x9c]
push eax
call dword [sym.imp.Secur32.dll_QueryCredentialsAttributesW]
mov dword [ebp - 0x470], eax
cmp dword [ebp - 0x470], 0
jl 0x59d1f8
xor ecx, ecx
je 0x59d1f8
mov edx, dword [ebp - 0x47c]
push edx
push 0x5ce1d8
mov eax, dword [ebp - 0x480]
push eax
push str.SChannel_cipher_strength:
push 0
push 0
push 0
push 1
push 0
push 0
lea ecx, [ebp - 0x268]
call fcn.00574170
mov ecx, eax
call fcn.0056f550
push eax
call fcn.004016a0
add esp, 8
mov ecx, eax
call fcn.00406860
push eax
call fcn.004016a0
add esp, 8
mov ecx, eax
call fcn.00406860
lea ecx, [ebp - 0x268]
call fcn.00574580
jmp 0x59d191
mov dword [ebp - 0x478], 0
xor ecx, ecx
mov dword [ebp - 0x474], ecx
lea edx, [ebp - 0x478]
push edx
push 0x56
mov eax, dword [ebp - 0x498]
mov ecx, dword [eax + 0x9c]
push ecx
call dword [sym.imp.Secur32.dll_QueryCredentialsAttributesW]
mov dword [ebp - 0x470], eax
cmp dword [ebp - 0x470], 0
jl 0x59d3ac
xor edx, edx
je 0x59d276
push str.SChannel_supported_algorithms:
push 0
push 0
push 0
push 1
push 0
push 0
lea ecx, [ebp - 0x328]
call fcn.00574170
mov ecx, eax
call fcn.0056f550
push eax
call fcn.004016a0
add esp, 8
lea ecx, [ebp - 0x328]
call fcn.00574580
jmp 0x59d239
mov dword [ebp - 0x484], 0
jmp 0x59d291
mov eax, dword [ebp - 0x484]
add eax, 1
mov dword [ebp - 0x484], eax
mov ecx, dword [ebp - 0x484]
cmp ecx, dword [ebp - 0x478]
jae 0x59d39d
mov edx, dword [ebp - 0x484]
mov eax, dword [ebp - 0x474]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x48c], ecx
push 0
lea edx, [ebp - 0x48c]
push edx
push 3
call dword [sym.imp.CRYPT32.dll_CryptFindOIDInfo]
mov dword [ebp - 0x490], eax
cmp dword [ebp - 0x490], 0
je 0x59d2e9
mov eax, dword [ebp - 0x490]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x49c], ecx
jmp 0x59d2f3
mov dword [ebp - 0x49c], str.Unknown
mov edx, dword [ebp - 0x49c]
mov dword [ebp - 0x488], edx
xor eax, eax
je 0x59d398
push 0x5ce228
mov ecx, dword [ebp - 0x48c]
push ecx
push 0x5ce22c
mov edx, dword [ebp - 0x488]
push edx
lea eax, [ebp - 0x344]
push eax
call fcn.0059a380
add esp, 8
push eax
push 0x5ce230
push 0
push 0
push 0
push 1
push 0
push 0
lea ecx, [ebp - 0x408]
call fcn.00574170
mov ecx, eax
call fcn.0056f550
push eax
call fcn.004016a0
add esp, 8
push eax
call fcn.00409f20
add esp, 8
push eax
call fcn.004016a0
add esp, 8
mov ecx, eax
call fcn.00406860
push eax
call fcn.004016a0
add esp, 8
lea ecx, [ebp - 0x408]
call fcn.00574580
lea ecx, [ebp - 0x344]
call fcn.004c0ca0
jmp 0x59d2ff
jmp 0x59d282
mov ecx, dword [ebp - 0x474]
push ecx
call fcn.0059edc0
add esp, 4
mov dword [ebp - 0x448], 0x1c11c
mov dword [ebp - 0x40c], 0
mov ecx, dword [ebp - 0x498]
call fcn.0059eda0
movzx edx, al
test edx, edx
je 0x59d3e3
mov eax, dword [ebp - 0x448]
or eax, 0x80000
mov dword [ebp - 0x448], eax
lea ecx, [ebp - 0x46c]
call fcn.0059efa0
push 0
lea ecx, [ebp - 0x40c]
push ecx
lea ecx, [ebp - 0x46c]
call fcn.0056f550
push eax
mov edx, dword [ebp - 0x498]
mov eax, dword [edx + 0x9c]
add eax, 8
push eax
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x448]
push ecx
mov ecx, dword [ebp - 0x498]
add ecx, 0x7c
call fcn.00407a10
push eax
push 0
mov edx, dword [ebp - 0x498]
mov eax, dword [edx + 0x9c]
push eax
call sub.Secur32.dll_InitializeSecurityContextA
mov dword [ebp - 0x470], eax
cmp dword [ebp - 0x470], 0
jl 0x59d464
mov ecx, dword [ebp - 0x498]
mov edx, dword [ecx + 0x9c]
mov byte [edx + 0x11], 1
lea ecx, [ebp - 0x46c]
call fcn.0056f550
push eax
push 0
mov eax, dword [ebp - 0x470]
push eax
mov ecx, dword [ebp - 0x498]
call fcn.0059d680
mov dword [ebp - 0x494], eax
lea ecx, [ebp - 0x46c]
call fcn.0059ef70
mov eax, dword [ebp - 0x494]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00548a41
mov esp, ebp
pop ebp
ret