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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3f9c
call fcn.00b75d10
mov eax, dword [0xc416ec]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
lea ecx, [ebp - 0x904]
call fcn.00b86100
lea eax, [ebp - 0x904]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00b821a0
add esp, 0xc
push 0
mov eax, dword [ebp + 0x2c]
push eax
push 0
lea ecx, [ebp - 0x904]
push ecx
call fcn.00b82400
add esp, 0x10
mov edx, dword [ebp + 0x24]
cmp dword [edx], 0
je 0xb83865
mov eax, dword [ebp + 0x2c]
push eax
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx]
add edx, 4
push edx
call fcn.00a2da20
add esp, 8
movzx eax, al
test eax, eax
je 0xb83865
mov dword [ebp - 0x3ef8], 1
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3ef8]
jmp 0xb85028
push str.basic
mov ecx, dword [ebp + 0x2c]
call fcn.00a27a10
push eax
call fcn.00b69991
add esp, 8
test eax, eax
jne 0xb83a7a
mov ecx, dword [ebp + 0x24]
cmp dword [ecx], 0
je 0xb838ab
mov dword [ebp - 0x3efc], 2
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3efc]
jmp 0xb85028
mov ecx, dword [ebp + 0x1c]
call fcn.00a26660
movzx edx, al
test edx, edx
je 0xb838da
mov dword [ebp - 0x3f00], 2
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f00]
jmp 0xb85028
push 0x20
call fcn.00b68a50
add esp, 4
mov dword [ebp - 0x3f04], eax
cmp dword [ebp - 0x3f04], 0
je 0xb8390a
mov eax, dword [ebp + 0x2c]
push eax
mov ecx, dword [ebp - 0x3f04]
call fcn.00b85200
mov dword [ebp - 0x3f60], eax
jmp 0xb83914
mov dword [ebp - 0x3f60], 0
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x3f60]
mov dword [ecx], edx
mov ecx, dword [ebp + 0x1c]
call fcn.00a3a780
mov esi, eax
mov ecx, dword [ebp + 0x20]
call fcn.00b85310
lea eax, [esi + eax + 2]
mov dword [ebp - 0x910], eax
mov ecx, dword [ebp - 0x910]
push ecx
call fcn.00b67a7c
add esp, 4
mov dword [ebp - 0x3f08], eax
mov edx, dword [ebp - 0x3f08]
mov dword [ebp - 0x90c], edx
mov ecx, dword [ebp + 0x1c]
call fcn.00a3a780
push eax
mov ecx, dword [ebp + 0x1c]
call fcn.00a27a10
push eax
mov eax, dword [ebp - 0x910]
push eax
mov ecx, dword [ebp - 0x90c]
push ecx
call fcn.00b872f0
add esp, 0x10
mov dword [ebp - 0x914], eax
push 0xffffffffffffffff
push 0xbe9bb4
mov edx, dword [ebp - 0x910]
sub edx, dword [ebp - 0x914]
push edx
mov eax, dword [ebp - 0x90c]
add eax, dword [ebp - 0x914]
push eax
call fcn.00b872f0
add esp, 0x10
add eax, dword [ebp - 0x914]
mov dword [ebp - 0x914], eax
push 1
mov ecx, dword [ebp - 0x90c]
add ecx, dword [ebp - 0x914]
push ecx
mov ecx, dword [ebp + 0x20]
call fcn.00b85340
mov edx, dword [ebp + 0x2c]
push edx
mov ecx, dword [ebp + 0x28]
call fcn.00a287e0
push 0xbe9bb8
mov ecx, dword [ebp + 0x28]
call fcn.00a265e0
mov eax, dword [ebp - 0x90c]
push eax
lea ecx, [ebp - 0x20]
call fcn.00a26550
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x3c]
push edx
call fcn.00b85280
add esp, 8
push eax
mov ecx, dword [ebp + 0x28]
call fcn.00a265c0
lea ecx, [ebp - 0x3c]
call fcn.00ae0ca0
lea ecx, [ebp - 0x20]
call fcn.00ae0ca0
mov eax, dword [ebp - 0x910]
push eax
push 0
mov ecx, dword [ebp - 0x90c]
push ecx
call fcn.00b6e420
add esp, 0xc
mov edx, dword [ebp - 0x90c]
mov dword [ebp - 0x3f0c], edx
mov eax, dword [ebp - 0x3f0c]
push eax
call fcn.00b69081
add esp, 4
mov dword [ebp - 0x3f10], 0
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f10]
jmp 0xb85028
push str.digest
mov ecx, dword [ebp + 0x2c]
call fcn.00a27a10
push eax
call fcn.00b69991
add esp, 8
test eax, eax
jne 0xb844ca
mov ecx, dword [ebp + 0x24]
cmp dword [ecx], 0
je 0xb83ac0
mov dword [ebp - 0x3f14], 2
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f14]
jmp 0xb85028
mov ecx, dword [ebp + 0x1c]
call fcn.00a26660
movzx edx, al
test edx, edx
je 0xb83aef
mov dword [ebp - 0x3f18], 2
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f18]
jmp 0xb85028
push 0x20
call fcn.00b68a50
add esp, 4
mov dword [ebp - 0x3f1c], eax
cmp dword [ebp - 0x3f1c], 0
je 0xb83b1f
mov eax, dword [ebp + 0x2c]
push eax
mov ecx, dword [ebp - 0x3f1c]
call fcn.00b85200
mov dword [ebp - 0x3f64], eax
jmp 0xb83b29
mov dword [ebp - 0x3f64], 0
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x3f64]
mov dword [ecx], edx
lea ecx, [ebp - 0xa3c]
call fcn.00a26530
lea ecx, [ebp - 0x94c]
call fcn.00a26530
push 0
call fcn.00b85040
add esp, 4
push eax
push 0xbe9bc4
lea eax, [ebp - 0xbe8]
push eax
call fcn.00b69a2b
add esp, 0xc
lea ecx, [ebp - 0xbe8]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00a26550
lea edx, [ebp - 0x58]
push edx
lea eax, [ebp - 0x74]
push eax
call fcn.00b85370
add esp, 8
push eax
lea ecx, [ebp - 0xa3c]
call fcn.00a2b310
lea ecx, [ebp - 0x74]
call fcn.00ae0ca0
lea ecx, [ebp - 0x58]
call fcn.00ae0ca0
push str.00000001
lea ecx, [ebp - 0x94c]
call fcn.00a2b320
lea ecx, [ebp - 0x988]
call fcn.00a26530
lea ecx, [ebp - 0x9e8]
call fcn.00a26530
lea ecx, [ebp - 0x9cc]
call fcn.00a26530
lea ecx, [ebp - 0xa04]
call fcn.00a26530
push str.realm
lea ecx, [ebp - 0x90]
call fcn.00a26550
lea ecx, [ebp - 0x988]
push ecx
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0x904]
push eax
call fcn.00b82380
add esp, 0xc
lea ecx, [ebp - 0x90]
call fcn.00ae0ca0
push str.nonce
lea ecx, [ebp - 0xac]
call fcn.00a26550
lea ecx, [ebp - 0x9e8]
push ecx
lea edx, [ebp - 0xac]
push edx
lea eax, [ebp - 0x904]
push eax
call fcn.00b82380
add esp, 0xc
lea ecx, [ebp - 0xac]
call fcn.00ae0ca0
push 0xbe9be4
lea ecx, [ebp - 0xc8]
call fcn.00a26550
lea ecx, [ebp - 0x9cc]
push ecx
lea edx, [ebp - 0xc8]
push edx
lea eax, [ebp - 0x904]
push eax
call fcn.00b82380
add esp, 0xc
mov byte [ebp - 0x98d], al
lea ecx, [ebp - 0xc8]
call fcn.00ae0ca0
push str.opaque
lea ecx, [ebp - 0xe4]
call fcn.00a26550
lea ecx, [ebp - 0xa04]
push ecx
lea edx, [ebp - 0xe4]
push edx
lea eax, [ebp - 0x904]
push eax
call fcn.00b82380
add esp, 0xc
mov byte [ebp - 0x969], al
lea ecx, [ebp - 0xe4]
call fcn.00ae0ca0
mov ecx, dword [ebp + 0x1c]
call fcn.00a3a780
mov esi, eax
lea ecx, [ebp - 0x988]
call fcn.00a3a780
add esi, eax
mov ecx, dword [ebp + 0x20]
call fcn.00b85310
lea ecx, [esi + eax + 3]
mov dword [ebp - 0x9b0], ecx
mov edx, dword [ebp - 0x9b0]
push edx
call fcn.00b67a7c
add esp, 4
mov dword [ebp - 0x3f20], eax
mov eax, dword [ebp - 0x3f20]
mov dword [ebp - 0x98c], eax
mov ecx, dword [ebp + 0x1c]
call fcn.00a3a780
push eax
mov ecx, dword [ebp + 0x1c]
call fcn.00a27a10
push eax
mov ecx, dword [ebp - 0x9b0]
push ecx
mov edx, dword [ebp - 0x98c]
push edx
call fcn.00b872f0
add esp, 0x10
mov dword [ebp - 0xc08], eax
push 0xffffffffffffffff
push 0xbe9bf0
mov eax, dword [ebp - 0x9b0]
sub eax, dword [ebp - 0xc08]
push eax
mov ecx, dword [ebp - 0x98c]
add ecx, dword [ebp - 0xc08]
push ecx
call fcn.00b872f0
add esp, 0x10
add eax, dword [ebp - 0xc08]
mov dword [ebp - 0xc08], eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x988]
call fcn.00a27a10
push eax
mov edx, dword [ebp - 0x9b0]
sub edx, dword [ebp - 0xc08]
push edx
mov eax, dword [ebp - 0x98c]
add eax, dword [ebp - 0xc08]
push eax
call fcn.00b872f0
add esp, 0x10
add eax, dword [ebp - 0xc08]
mov dword [ebp - 0xc08], eax
push 0xffffffffffffffff
push 0xbe9bf4
mov ecx, dword [ebp - 0x9b0]
sub ecx, dword [ebp - 0xc08]
push ecx
mov edx, dword [ebp - 0x98c]
add edx, dword [ebp - 0xc08]
push edx
call fcn.00b872f0
add esp, 0x10
add eax, dword [ebp - 0xc08]
mov dword [ebp - 0xc08], eax
push 1
mov eax, dword [ebp - 0x98c]
add eax, dword [ebp - 0xc08]
push eax
mov ecx, dword [ebp + 0x20]
call fcn.00b85340
mov ecx, dword [ebp + 0x18]
push ecx
push 0xbe9bf8
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x100]
push eax
call fcn.00a745b0
add esp, 0xc
push eax
lea ecx, [ebp - 0xc04]
push ecx
call fcn.00a2c4e0
add esp, 0xc
lea ecx, [ebp - 0x100]
call fcn.00ae0ca0
lea ecx, [ebp - 0xa20]
call fcn.00a26530
movzx edx, byte [ebp - 0x98d]
test edx, edx
je 0xb83f3c
push 0xbe9bfc
lea ecx, [ebp - 0x9cc]
call fcn.00a2b320
lea eax, [ebp - 0x9cc]
push eax
push str.:::::
lea ecx, [ebp - 0xa3c]
push ecx
push 0xbe9c08
lea edx, [ebp - 0x94c]
push edx
push 0xbe9c0c
lea eax, [ebp - 0x9e8]
push eax
lea ecx, [ebp - 0x11c]
push ecx
call fcn.00a745b0
add esp, 0xc
push eax
lea edx, [ebp - 0x138]
push edx
call fcn.00a2c4e0
add esp, 0xc
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.00a2c430
add esp, 0xc
push eax
lea ecx, [ebp - 0x170]
push ecx
call fcn.00a2c4e0
add esp, 0xc
push eax
lea edx, [ebp - 0x18c]
push edx
call fcn.00a2c430
add esp, 0xc
push eax
lea eax, [ebp - 0x1a8]
push eax
call fcn.00a2c4e0
add esp, 0xc
push eax
lea ecx, [ebp - 0xa20]
call fcn.00a2b310
lea ecx, [ebp - 0x1a8]
call fcn.00ae0ca0
lea ecx, [ebp - 0x18c]
call fcn.00ae0ca0
lea ecx, [ebp - 0x170]
call fcn.00ae0ca0
lea ecx, [ebp - 0x154]
call fcn.00ae0ca0
lea ecx, [ebp - 0x138]
call fcn.00ae0ca0
lea ecx, [ebp - 0x11c]
call fcn.00ae0ca0
jmp 0xb83f4e
lea ecx, [ebp - 0x9e8]
push ecx
lea ecx, [ebp - 0xa20]
call fcn.00a287e0
mov edx, dword [ebp - 0x98c]
push edx
lea ecx, [ebp - 0x1c4]
call fcn.00a26550
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x9ac]
push ecx
call fcn.00b85370
add esp, 8
lea ecx, [ebp - 0x1c4]
call fcn.00ae0ca0
mov edx, dword [ebp - 0x9b0]
push edx
push 0
mov eax, dword [ebp - 0x98c]
push eax
call fcn.00b6e420
add esp, 0xc
mov ecx, dword [ebp - 0x98c]
mov dword [ebp - 0x3f24], ecx
mov edx, dword [ebp - 0x3f24]
push edx
call fcn.00b69081
add esp, 4
lea eax, [ebp - 0xc04]
push eax
lea ecx, [ebp - 0x930]
push ecx
call fcn.00b85370
add esp, 8
lea edx, [ebp - 0x930]
push edx
push 0xbe9c10
lea eax, [ebp - 0xa20]
push eax
push 0xbe9c14
lea ecx, [ebp - 0x9ac]
push ecx
lea edx, [ebp - 0x1e0]
push edx
call fcn.00a745b0
add esp, 0xc
push eax
lea eax, [ebp - 0x1fc]
push eax
call fcn.00a2c4e0
add esp, 0xc
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.00a2c430
add esp, 0xc
push eax
lea edx, [ebp - 0x234]
push edx
call fcn.00a2c4e0
add esp, 0xc
push eax
lea eax, [ebp - 0x968]
push eax
call fcn.00b85370
add esp, 8
lea ecx, [ebp - 0x234]
call fcn.00ae0ca0
lea ecx, [ebp - 0x218]
call fcn.00ae0ca0
lea ecx, [ebp - 0x1fc]
call fcn.00ae0ca0
lea ecx, [ebp - 0x1e0]
call fcn.00ae0ca0
push 1
push 3
lea ecx, [ebp - 0xae8]
call fcn.00a26db0
lea ecx, [ebp - 0xae8]
test ecx, ecx
je 0xb8408e
lea edx, [ebp - 0xae8]
add edx, 0x10
mov dword [ebp - 0x3f68], edx
jmp 0xb84098
mov dword [ebp - 0x3f68], 0
mov eax, dword [ebp + 0x2c]
push eax
mov ecx, dword [ebp - 0x3f68]
push ecx
call fcn.00a29f20
add esp, 8
lea edx, [ebp - 0xae8]
test edx, edx
je 0xb840c6
lea eax, [ebp - 0xae8]
add eax, 0x10
mov dword [ebp - 0x3f6c], eax
jmp 0xb840d0
mov dword [ebp - 0x3f6c], 0
mov ecx, dword [ebp + 0x1c]
push ecx
lea edx, [ebp - 0x250]
push edx
call fcn.00b83710
add esp, 8
push eax
push 0xbe9c18
mov eax, dword [ebp - 0x3f6c]
push eax
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
lea ecx, [ebp - 0x250]
call fcn.00ae0ca0
lea ecx, [ebp - 0xae8]
test ecx, ecx
je 0xb84127
lea edx, [ebp - 0xae8]
add edx, 0x10
mov dword [ebp - 0x3f70], edx
jmp 0xb84131
mov dword [ebp - 0x3f70], 0
lea eax, [ebp - 0x988]
push eax
lea ecx, [ebp - 0x26c]
push ecx
call fcn.00b83710
add esp, 8
push eax
push str.__realm
mov edx, dword [ebp - 0x3f70]
push edx
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
lea ecx, [ebp - 0x26c]
call fcn.00ae0ca0
lea eax, [ebp - 0xae8]
test eax, eax
je 0xb8418b
lea ecx, [ebp - 0xae8]
add ecx, 0x10
mov dword [ebp - 0x3f74], ecx
jmp 0xb84195
mov dword [ebp - 0x3f74], 0
lea edx, [ebp - 0x9e8]
push edx
lea eax, [ebp - 0x288]
push eax
call fcn.00b83710
add esp, 8
push eax
push str.__nonce
mov ecx, dword [ebp - 0x3f74]
push ecx
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
lea ecx, [ebp - 0x288]
call fcn.00ae0ca0
lea edx, [ebp - 0xae8]
test edx, edx
je 0xb841ef
lea eax, [ebp - 0xae8]
add eax, 0x10
mov dword [ebp - 0x3f78], eax
jmp 0xb841f9
mov dword [ebp - 0x3f78], 0
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0x2a4]
push edx
call fcn.00b83710
add esp, 8
push eax
push str.__uri
mov eax, dword [ebp - 0x3f78]
push eax
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
lea ecx, [ebp - 0x2a4]
call fcn.00ae0ca0
movzx ecx, byte [ebp - 0x98d]
test ecx, ecx
je 0xb8433a
lea edx, [ebp - 0xae8]
test edx, edx
je 0xb8425f
lea eax, [ebp - 0xae8]
add eax, 0x10
mov dword [ebp - 0x3f7c], eax
jmp 0xb84269
mov dword [ebp - 0x3f7c], 0
lea ecx, [ebp - 0x9cc]
push ecx
push str.__qop
mov edx, dword [ebp - 0x3f7c]
push edx
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
lea eax, [ebp - 0xae8]
test eax, eax
je 0xb842a8
lea ecx, [ebp - 0xae8]
add ecx, 0x10
mov dword [ebp - 0x3f80], ecx
jmp 0xb842b2
mov dword [ebp - 0x3f80], 0
lea edx, [ebp - 0x94c]
push edx
push str.__nc
mov eax, dword [ebp - 0x3f80]
push eax
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
lea ecx, [ebp - 0xae8]
test ecx, ecx
je 0xb842f1
lea edx, [ebp - 0xae8]
add edx, 0x10
mov dword [ebp - 0x3f84], edx
jmp 0xb842fb
mov dword [ebp - 0x3f84], 0
lea eax, [ebp - 0xa3c]
push eax
lea ecx, [ebp - 0x2c0]
push ecx
call fcn.00b83710
add esp, 8
push eax
push str.__cnonce
mov edx, dword [ebp - 0x3f84]
push edx
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
lea ecx, [ebp - 0x2c0]
call fcn.00ae0ca0
lea eax, [ebp - 0xae8]
test eax, eax
je 0xb84355
lea ecx, [ebp - 0xae8]
add ecx, 0x10
mov dword [ebp - 0x3f88], ecx
jmp 0xb8435f
mov dword [ebp - 0x3f88], 0
push 0xbe9c60
lea edx, [ebp - 0x968]
push edx
push str.__response_
mov eax, dword [ebp - 0x3f88]
push eax
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
push eax
call fcn.00a216a0
add esp, 8
movzx ecx, byte [ebp - 0x969]
test ecx, ecx
je 0xb84400
lea edx, [ebp - 0xae8]
test edx, edx
je 0xb843b7
lea eax, [ebp - 0xae8]
add eax, 0x10
mov dword [ebp - 0x3f8c], eax
jmp 0xb843c1
mov dword [ebp - 0x3f8c], 0
lea ecx, [ebp - 0xa04]
push ecx
lea edx, [ebp - 0x2dc]
push edx
call fcn.00b83710
add esp, 8
push eax
push str.__opaque
mov eax, dword [ebp - 0x3f8c]
push eax
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
lea ecx, [ebp - 0x2dc]
call fcn.00ae0ca0
lea ecx, [ebp - 0x2f8]
push ecx
lea ecx, [ebp - 0xae8]
call fcn.00a26f30
push eax
mov ecx, dword [ebp + 0x28]
call fcn.00a2b310
lea ecx, [ebp - 0x2f8]
call fcn.00ae0ca0
mov dword [ebp - 0x3f28], 0
lea ecx, [ebp - 0xae8]
call fcn.00a262b0
lea ecx, [ebp - 0x968]
call fcn.00ae0ca0
lea ecx, [ebp - 0x930]
call fcn.00ae0ca0
lea ecx, [ebp - 0x9ac]
call fcn.00ae0ca0
lea ecx, [ebp - 0xa20]
call fcn.00ae0ca0
lea ecx, [ebp - 0xc04]
call fcn.00ae0ca0
lea ecx, [ebp - 0xa04]
call fcn.00ae0ca0
lea ecx, [ebp - 0x9cc]
call fcn.00ae0ca0
lea ecx, [ebp - 0x9e8]
call fcn.00ae0ca0
lea ecx, [ebp - 0x988]
call fcn.00ae0ca0
lea ecx, [ebp - 0x94c]
call fcn.00ae0ca0
lea ecx, [ebp - 0xa3c]
call fcn.00ae0ca0
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f28]
jmp 0xb85028
push str.negotiate
mov ecx, dword [ebp + 0x2c]
call fcn.00a27a10
push eax
call fcn.00b69991
add esp, 8
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x905], al
push str.ntlm
mov ecx, dword [ebp + 0x2c]
call fcn.00a27a10
push eax
call fcn.00b69991
add esp, 8
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x906], al
movzx edx, byte [ebp - 0x905]
test edx, edx
jne 0xb8452a
movzx eax, byte [ebp - 0x906]
test eax, eax
je 0xb8500d
mov dword [ebp - 0xc40], 0x2ee0
mov dword [ebp - 0xc3c], 0x100
lea ecx, [ebp - 0x314]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00b93020
mov ecx, eax
call fcn.00a27a10
push eax
push str.HTTP__s
push 0x100
lea edx, [ebp - 0xd50]
push edx
call fcn.00b87390
add esp, 0x10
lea ecx, [ebp - 0x314]
call fcn.00ae0ca0
lea eax, [ebp - 0x3c38]
mov dword [ebp - 0xc44], eax
mov dword [ebp - 0xc4c], 0x2ee0
mov dword [ebp - 0xc48], 2
mov dword [ebp - 0x3c44], 0
mov dword [ebp - 0x3c40], 1
lea ecx, [ebp - 0xc4c]
mov dword [ebp - 0x3c3c], ecx
mov dword [ebp - 0x3c4c], 0x1c
mov dword [ebp - 0xd54], 0
mov dword [ebp - 0xc0c], 0
mov dword [ebp - 0xc2c], 0x1c
mov ecx, dword [ebp + 0x1c]
call fcn.00a26660
movzx edx, al
neg edx
sbb edx, edx
add edx, 1
mov byte [ebp - 0x3c4d], dl
mov dword [ebp - 0xc50], 0
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax]
mov dword [ebp - 0x3c48], ecx
cmp dword [ebp - 0x3c48], 0
je 0xb84933
mov dword [ebp - 0x3c8c], 0xa
mov edx, dword [ebp - 0x3c48]
mov eax, dword [edx + 0x30]
add eax, 1
mov dword [ebp - 0x3f90], eax
mov ecx, dword [ebp - 0x3c48]
mov edx, dword [ebp - 0x3f90]
mov dword [ecx + 0x30], edx
cmp dword [ebp - 0x3f90], 0xa
jb 0xb846ac
xor eax, eax
je 0xb8468c
push str.AsyncHttpsProxySocket::Authenticate_Negotiate__too_many_retries
push 0
push 0
push 0
push 3
push 0
push 0
lea ecx, [ebp - 0x3d8]
call fcn.00b94170
mov ecx, eax
call fcn.00b8f550
push eax
call fcn.00a216a0
add esp, 8
lea ecx, [ebp - 0x3d8]
call fcn.00b94580
jmp 0xb8464f
mov dword [ebp - 0x3f2c], 3
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f2c]
jmp 0xb85028
mov ecx, dword [ebp - 0x3c48]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
lea ecx, [ebp - 0x3c6c]
call fcn.00a26530
lea ecx, [ebp - 0x3c88]
call fcn.00a26530
push 0
lea eax, [ebp - 0x3c6c]
push eax
push 1
lea ecx, [ebp - 0x904]
push ecx
call fcn.00b82400
add esp, 0x10
movzx edx, al
test edx, edx
je 0xb84875
push 0
lea eax, [ebp - 0x3c88]
push eax
push 0x15
lea ecx, [ebp - 0x3c6c]
push ecx
call fcn.00b852e0
add esp, 0x10
movzx edx, al
test edx, edx
je 0xb84875
lea ecx, [ebp - 0x3c88]
call fcn.00a27a10
mov dword [ebp - 0x3c9c], eax
lea ecx, [ebp - 0x3c88]
call fcn.00a3a780
mov dword [ebp - 0x3ca4], eax
mov dword [ebp - 0x3ca0], 2
mov dword [ebp - 0x3c98], 0
mov dword [ebp - 0x3c94], 1
lea eax, [ebp - 0x3ca4]
mov dword [ebp - 0x3c90], eax
lea ecx, [ebp - 0xc38]
push ecx
lea edx, [ebp - 0xc0c]
push edx
lea eax, [ebp - 0x3c44]
push eax
mov ecx, dword [ebp - 0x3c48]
add ecx, 0x28
push ecx
push 0
lea edx, [ebp - 0x3c98]
push edx
push 0x10
push 0
mov eax, dword [ebp - 0xc2c]
push eax
lea ecx, [ebp - 0xd50]
push ecx
mov edx, dword [ebp - 0x3c48]
add edx, 0x28
push edx
mov eax, dword [ebp - 0x3c48]
add eax, 0x20
push eax
call sub.Secur32.dll_InitializeSecurityContextA
mov dword [ebp - 0xd54], eax
cmp dword [ebp - 0xd54], 0
jge 0xb84870
xor ecx, ecx
je 0xb8483a
push 0xbeb020
mov edx, dword [ebp - 0xd54]
push edx
lea eax, [ebp - 0x3f4]
push eax
call fcn.00b940e0
add esp, 0xc
push eax
push 0xbe9ce8
push 0
push 0
push 0
push 4
push 0
push 0
lea ecx, [ebp - 0x4b8]
call fcn.00b94170
mov ecx, eax
call fcn.00b8f550
push eax
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
lea ecx, [ebp - 0x4b8]
call fcn.00b94580
lea ecx, [ebp - 0x3f4]
call fcn.00ae0ca0
jmp 0xb847cd
mov dword [ebp - 0x3f30], 3
lea ecx, [ebp - 0x3c88]
call fcn.00ae0ca0
lea ecx, [ebp - 0x3c6c]
call fcn.00ae0ca0
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f30]
jmp 0xb85028
jmp 0xb8491d
mov ecx, dword [ebp - 0x3c48]
movzx edx, byte [ecx + 0x34]
test edx, edx
je 0xb848e7
mov byte [ebp - 0x3c4d], 0
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax]
mov dword [ebp - 0x3f38], ecx
mov edx, dword [ebp - 0x3f38]
mov dword [ebp - 0x3f34], edx
cmp dword [ebp - 0x3f34], 0
je 0xb848c6
push 1
mov eax, dword [ebp - 0x3f34]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3f34]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x3f94], eax
jmp 0xb848d0
mov dword [ebp - 0x3f94], 0
mov dword [ebp - 0x3c48], 0
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x3c48]
mov dword [ecx], edx
jmp 0xb8491d
mov dword [ebp - 0x3f3c], 2
lea ecx, [ebp - 0x3c88]
call fcn.00ae0ca0
lea ecx, [ebp - 0x3c6c]
call fcn.00ae0ca0
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f3c]
jmp 0xb85028
lea ecx, [ebp - 0x3c88]
call fcn.00ae0ca0
lea ecx, [ebp - 0x3c6c]
call fcn.00ae0ca0
cmp dword [ebp - 0x3c48], 0
jne 0xb84eb4
mov dword [ebp - 0x3cb8], 0
movzx eax, byte [ebp - 0x3c4d]
test eax, eax
je 0xb84c13
push 0x1c
push 0
lea ecx, [ebp - 0x3de4]
push ecx
call fcn.00b6e420
add esp, 0xc
mov ecx, dword [ebp + 0x20]
call fcn.00b85310
add eax, 1
mov dword [ebp - 0x3ef0], eax
mov edx, dword [ebp - 0x3ef0]
push edx
call fcn.00b67a7c
add esp, 4
mov dword [ebp - 0x3f40], eax
mov eax, dword [ebp - 0x3f40]
mov dword [ebp - 0x3eec], eax
push 1
mov ecx, dword [ebp - 0x3eec]
push ecx
mov ecx, dword [ebp + 0x20]
call fcn.00b85340
push 0
push 0x5c
mov ecx, dword [ebp + 0x1c]
call fcn.00af3cb0
mov dword [ebp - 0x3ef4], eax
mov edx, dword [ebp - 0x3ef4]
cmp edx, dword [0xbf8b44]
jne 0xb84a80
mov ecx, dword [ebp + 0x1c]
call fcn.00a3a780
push eax
push 0xff
call fcn.00b87720
add esp, 8
mov dword [ebp - 0x3de0], eax
mov eax, dword [ebp - 0x3de0]
push eax
mov ecx, dword [ebp + 0x1c]
call fcn.00a27a10
push eax
lea ecx, [ebp - 0x3dc8]
push ecx
call fcn.00b6c600
add esp, 0xc
mov edx, dword [ebp - 0x3de0]
mov byte [ebp + edx - 0x3dc8], 0
mov dword [ebp - 0x3dd8], 0
mov eax, dword [ebp - 0x3dd8]
mov byte [ebp + eax - 0x3cc8], 0
mov ecx, dword [ebp + 0x20]
call fcn.00b85310
push eax
push 0xff
call fcn.00b87720
add esp, 8
mov dword [ebp - 0x3dd0], eax
mov ecx, dword [ebp - 0x3dd0]
push ecx
mov edx, dword [ebp - 0x3eec]
push edx
lea eax, [ebp - 0x3ee8]
push eax
call fcn.00b6c600
add esp, 0xc
mov ecx, dword [ebp - 0x3dd0]
mov byte [ebp + ecx - 0x3ee8], 0
jmp 0xb84b67
mov ecx, dword [ebp + 0x1c]
call fcn.00a3a780
sub eax, dword [ebp - 0x3ef4]
sub eax, 1
push eax
push 0xff
call fcn.00b87720
add esp, 8
mov dword [ebp - 0x3de0], eax
mov edx, dword [ebp - 0x3de0]
push edx
mov ecx, dword [ebp + 0x1c]
call fcn.00a27a10
mov ecx, dword [ebp - 0x3ef4]
lea edx, [eax + ecx + 1]
push edx
lea eax, [ebp - 0x3dc8]
push eax
call fcn.00b6c600
add esp, 0xc
mov ecx, dword [ebp - 0x3de0]
mov byte [ebp + ecx - 0x3dc8], 0
mov edx, dword [ebp - 0x3ef4]
push edx
push 0xf
call fcn.00b87720
add esp, 8
mov dword [ebp - 0x3dd8], eax
mov eax, dword [ebp - 0x3dd8]
push eax
mov ecx, dword [ebp + 0x1c]
call fcn.00a27a10
push eax
lea ecx, [ebp - 0x3cc8]
push ecx
call fcn.00b6c600
add esp, 0xc
mov edx, dword [ebp - 0x3dd8]
mov byte [ebp + edx - 0x3cc8], 0
mov ecx, dword [ebp + 0x20]
call fcn.00b85310
push eax
push 0xff
call fcn.00b87720
add esp, 8
mov dword [ebp - 0x3dd0], eax
mov eax, dword [ebp - 0x3dd0]
push eax
mov ecx, dword [ebp - 0x3eec]
push ecx
lea edx, [ebp - 0x3ee8]
push edx
call fcn.00b6c600
add esp, 0xc
mov eax, dword [ebp - 0x3dd0]
mov byte [ebp + eax - 0x3ee8], 0
mov ecx, dword [ebp - 0x3ef0]
push ecx
push 0
mov edx, dword [ebp - 0x3eec]
push edx
call fcn.00b6e420
add esp, 0xc
mov eax, dword [ebp - 0x3eec]
mov dword [ebp - 0x3f44], eax
mov ecx, dword [ebp - 0x3f44]
push ecx
call fcn.00b69081
add esp, 4
lea edx, [ebp - 0x3dc8]
mov dword [ebp - 0x3de4], edx
lea eax, [ebp - 0x3cc8]
mov dword [ebp - 0x3ddc], eax
lea ecx, [ebp - 0x3ee8]
mov dword [ebp - 0x3dd4], ecx
mov dword [ebp - 0x3dcc], 1
lea edx, [ebp - 0x3de4]
mov dword [ebp - 0x3cb8], edx
xor eax, eax
je 0xb84c11
push str.Negotiate_protocol:_Using_specified_credentials
push 0
push 0
push 0
push 1
push 0
push 0
lea ecx, [ebp - 0x578]
call fcn.00b94170
mov ecx, eax
call fcn.00b8f550
push eax
call fcn.00a216a0
add esp, 8
lea ecx, [ebp - 0x578]
call fcn.00b94580
jmp 0xb84bd4
jmp 0xb84c50
xor ecx, ecx
je 0xb84c50
push str.Negotiate_protocol:_Using_default_credentials
push 0
push 0
push 0
push 1
push 0
push 0
lea ecx, [ebp - 0x638]
call fcn.00b94170
mov ecx, eax
call fcn.00b8f550
push eax
call fcn.00a216a0
add esp, 8
lea ecx, [ebp - 0x638]
call fcn.00b94580
jmp 0xb84c13
movzx edx, byte [ebp - 0x905]
test edx, edx
je 0xb84c67
mov dword [ebp - 0x3f98], str.Negotiate
jmp 0xb84c71
mov dword [ebp - 0x3f98], str.NTLM
lea eax, [ebp - 0xc38]
push eax
lea ecx, [ebp - 0x3cac]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x3cb8]
push edx
push 0
push 2
mov eax, dword [ebp - 0x3f98]
push eax
push 0
call sub.Secur32.dll_AcquireCredentialsHandleA
mov dword [ebp - 0xd54], eax
cmp dword [ebp - 0xd54], 0
je 0xb84d3c
xor ecx, ecx
je 0xb84d1c
push 0xbeb020
mov edx, dword [ebp - 0xd54]
push edx
lea eax, [ebp - 0x654]
push eax
call fcn.00b940e0
add esp, 0xc
push eax
push 0xbe9d78
push 0
push 0
push 0
push 4
push 0
push 0
lea ecx, [ebp - 0x718]
call fcn.00b94170
mov ecx, eax
call fcn.00b8f550
push eax
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
lea ecx, [ebp - 0x718]
call fcn.00b94580
lea ecx, [ebp - 0x654]
call fcn.00ae0ca0
jmp 0xb84caf
mov dword [ebp - 0x3f48], 1
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f48]
jmp 0xb85028
lea ecx, [ebp - 0xc38]
push ecx
lea edx, [ebp - 0xc0c]
push edx
lea eax, [ebp - 0x3c44]
push eax
lea ecx, [ebp - 0x3cb4]
push ecx
push 0
push 0
push 0x10
push 0
mov edx, dword [ebp - 0xc2c]
push edx
lea eax, [ebp - 0xd50]
push eax
push 0
lea ecx, [ebp - 0x3cac]
push ecx
call sub.Secur32.dll_InitializeSecurityContextA
mov dword [ebp - 0xd54], eax
cmp dword [ebp - 0xd54], 0
jge 0xb84e29
xor edx, edx
je 0xb84dfc
push 0xbeb020
mov eax, dword [ebp - 0xd54]
push eax
lea ecx, [ebp - 0x734]
push ecx
call fcn.00b940e0
add esp, 0xc
push eax
push str.InitializeSecurityContext_returned:
push 0
push 0
push 0
push 4
push 0
push 0
lea ecx, [ebp - 0x7f8]
call fcn.00b94170
mov ecx, eax
call fcn.00b8f550
push eax
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
lea ecx, [ebp - 0x7f8]
call fcn.00b94580
lea ecx, [ebp - 0x734]
call fcn.00ae0ca0
jmp 0xb84d8f
lea edx, [ebp - 0x3cac]
push edx
call dword [sym.imp.Secur32.dll_FreeCredentialsHandle]
mov dword [ebp - 0x3f4c], 1
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f4c]
jmp 0xb85028
push 0x38
call fcn.00b68a50
add esp, 4
mov dword [ebp - 0x3f50], eax
cmp dword [ebp - 0x3f50], 0
je 0xb84e75
mov eax, dword [ebp - 0x3cb0]
push eax
mov ecx, dword [ebp - 0x3cb4]
push ecx
mov edx, dword [ebp - 0x3ca8]
push edx
mov eax, dword [ebp - 0x3cac]
push eax
mov ecx, dword [ebp + 0x2c]
push ecx
mov ecx, dword [ebp - 0x3f50]
call fcn.00b853c0
mov dword [ebp - 0x3f9c], eax
jmp 0xb84e7f
mov dword [ebp - 0x3f9c], 0
mov edx, dword [ebp - 0x3f9c]
mov dword [ebp - 0x3c48], edx
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x3c48]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3c48]
mov al, byte [ebp - 0x3c4d]
mov byte [edx + 0x34], al
mov ecx, dword [ebp - 0x3c48]
mov edx, dword [ebp - 0xc50]
mov dword [ecx + 0x30], edx
cmp dword [ebp - 0xd54], 0x90313
je 0xb84ed0
cmp dword [ebp - 0xd54], 0x90314
jne 0xb84f82
lea eax, [ebp - 0x3c44]
push eax
mov ecx, dword [ebp - 0x3c48]
add ecx, 0x28
push ecx
call sub.Secur32.dll_CompleteAuthToken
mov dword [ebp - 0xd54], eax
xor edx, edx
je 0xb84f59
push 0xbeb020
mov eax, dword [ebp - 0xd54]
push eax
lea ecx, [ebp - 0x814]
push ecx
call fcn.00b940e0
add esp, 0xc
push eax
push str.CompleteAuthToken_returned:
push 0
push 0
push 0
push 1
push 0
push 0
lea ecx, [ebp - 0x8d8]
call fcn.00b94170
mov ecx, eax
call fcn.00b8f550
push eax
call fcn.00a216a0
add esp, 8
push eax
call fcn.00a29f20
add esp, 8
lea ecx, [ebp - 0x8d8]
call fcn.00b94580
lea ecx, [ebp - 0x814]
call fcn.00ae0ca0
jmp 0xb84eec
cmp dword [ebp - 0xd54], 0
jge 0xb84f82
mov dword [ebp - 0x3f54], 3
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f54]
jmp 0xb85028
mov edx, dword [ebp - 0xc4c]
lea eax, [ebp + edx - 0x3c38]
push eax
lea ecx, [ebp - 0x3c38]
push ecx
lea ecx, [ebp - 0xc28]
call fcn.00b11150
mov edx, dword [ebp + 0x2c]
push edx
mov ecx, dword [ebp + 0x28]
call fcn.00a287e0
push 0xbe9de4
mov ecx, dword [ebp + 0x28]
call fcn.00a265e0
lea eax, [ebp - 0xc28]
push eax
lea ecx, [ebp - 0x8f4]
push ecx
call fcn.00b85280
add esp, 8
push eax
mov ecx, dword [ebp + 0x28]
call fcn.00a265c0
lea ecx, [ebp - 0x8f4]
call fcn.00ae0ca0
mov dword [ebp - 0x3f58], 0
lea ecx, [ebp - 0xc28]
call fcn.00ae0ca0
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f58]
jmp 0xb85028
mov dword [ebp - 0x3f5c], 1
lea ecx, [ebp - 0x904]
call fcn.00b86120
mov eax, dword [ebp - 0x3f5c]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00b68a41
mov esp, ebp
pop ebp
ret