Function at 0x40e2c0
Capabilities:
Decrypt data via sspi
Encrypt data via sspi
Get client handle via schannel
Get inbound credentials handle via credssp
Get outbound credentials handle via credssp
Get remote cert context via schannel
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push ebp
mov ecx, 0x8010
mov edx, 0x18
mov eax, pe_nt_image_headers32
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3b0
call fcn.0040b170
call fcn.0040bca0
mov dword [ebp - 0x380], eax
cmp eax, 0xffffffff
je 0x40e3fc
mov dword [ebp - 0x2ec], 4
lea eax, [ebp - 0x370]
mov dword [ebp - 0x2e8], 0
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2d8], 0
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2cc], pe_nt_image_headers32
mov dword [ebp - 0x2bc], 0x18
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x2ec]
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], str.Microsoft_Unified_Security_Protocol_Provider
mov dword [esp], 0
call sub.secur32.dll_AcquireCredentialsHandleA
sub esp, 0x24
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x3fe
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.AcquireCredentialsHandleA_failed:__08lx_n
mov dword [esp], eax
call fcn.0040aa60
test ebx, ebx
je 0x40e408
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, 0x2000
mov edx, 4
lea eax, [ebp - 0x320]
call fcn.00409eb0
mov edx, 4
mov ecx, 0x2000
lea eax, [ebp - 0x314]
call fcn.00409eb0
mov eax, dword [ebp - 0x318]
mov dword [eax + 4], 2
lea eax, [ebp - 0x37c]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x368]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8010
mov dword [esp + 8], str.localhost
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
sub esp, 0x30
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x409
xor eax, eax
cmp ebx, 0x90312
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Expected_SEC_I_CONTINUE_NEEDED__got__08lx_n
call fcn.0040aa60
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x310], 1
mov dword [eax + 4], 2
mov eax, dword [ebp - 0x318]
mov dword [eax], 1
mov eax, dword [ebp - 0x30c]
mov ecx, dword [eax + 8]
mov eax, 0xfafafafa
lea edi, [ecx + 4]
mov dword [ecx], 0xfafafafa
mov dword [ecx + 0x1ffc], 0xfafafafa
and edi, 0xfffffffc
sub ecx, edi
add ecx, 0x2000
shr ecx, 2
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x37c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x314]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x368]
mov dword [esp + 4], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8010
mov dword [esp + 8], str.localhost
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
mov esi, dword [0x472130]
sub esp, 0x30
mov ebx, eax
call fcn.004162e0
xor ecx, ecx
test esi, esi
mov edi, dword [eax + 0x10]
setne cl
mov dword [eax + 0x14], 1
lea edx, [edi + edi]
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x40e609
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x413
xor eax, eax
cmp ebx, 0x80090308
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Expected_SEC_E_INVALID_TOKEN__got__08lx_n
call fcn.0040aa60
call fcn.004162e0
shr dword [eax + 0x10], 1
call fcn.004162e0
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x40e5d0
mov ebx, dword [0x472130]
call fcn.004162e0
xor ecx, ecx
mov edi, dword [eax + 0x10]
test ebx, ebx
mov dword [eax + 0x14], 1
setne cl
lea edx, [edi + edi]
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x40e682
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x415
mov dword [esp + 4], str.Output_buffer_size_was_not_set_to_0._n
mov eax, dword [ebp - 0x318]
mov eax, dword [eax]
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
shr dword [eax + 0x10], 1
call fcn.004162e0
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x40e648
mov dword [ebp - 0x310], 1
mov eax, edx
mov edx, dword [ebp - 0x30c]
mov dword [edx + 4], 2
mov edx, dword [ebp - 0x318]
mov dword [edx], 1
mov edx, dword [ebp - 0x30c]
mov ecx, dword [edx + 8]
lea edi, [ecx + 4]
mov dword [ecx], 0
mov dword [ecx + 0x1ffc], 0
and edi, 0xfffffffc
sub ecx, edi
add ecx, 0x2000
shr ecx, 2
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x37c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x314]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x368]
mov dword [esp + 4], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8010
mov dword [esp + 8], str.localhost
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
sub esp, 0x30
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x41e
xor eax, eax
cmp ebx, 0x80090308
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Expected_SEC_E_INVALID_TOKEN__got__08lx_n
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x41f
mov dword [esp + 4], str.Output_buffer_size_was_not_set_to_0._n
mov eax, dword [ebp - 0x318]
mov eax, dword [eax]
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, dword [ebp - 0x318]
mov dword [eax], 0
lea eax, [ebp - 0x37c]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x314]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x368]
mov dword [esp + 4], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8010
mov dword [esp + 8], str.localhost
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
sub esp, 0x30
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x425
xor eax, eax
mov dword [esp + 8], ebx
and ebx, 0xfffffff7
cmp ebx, 0x80090300
mov dword [esp + 4], str.Expected_SEC_E_INSUFFICIENT_MEMORY_or_SEC_E_INVALID_TOKEN__got__08lx_n
sete al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x427
mov dword [esp + 4], str.Output_buffer_size_was_not_set_to_0._n
mov eax, dword [ebp - 0x318]
mov eax, dword [eax]
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
lea eax, [ebp - 0x37c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x368]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8010
mov dword [esp + 8], str.localhost
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
sub esp, 0x30
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x42c
xor eax, eax
cmp ebx, 0x80090308
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Expected_SEC_E_INVALID_TOKEN__got__08lx_n
call fcn.0040aa60
mov eax, dword [ebp - 0x318]
mov dword [eax], 0x2000
lea eax, [ebp - 0x37c]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x368]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8010
mov dword [esp + 8], str.localhost
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
sub esp, 0x30
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x432
xor eax, eax
cmp ebx, 0x90312
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Expected_SEC_I_CONTINUE_NEEDED__got__08lx_n
call fcn.0040aa60
mov ebx, dword [ebp - 0x318]
mov dword [esp + 0xc], 0
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [ebx + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x380]
mov dword [esp], eax
mov eax, dword [sym.imp.ws2_32.dll_send]
mov dword [ebp - 0x384], eax
call eax
lea eax, [ebp - 0x37c]
mov dword [ebx], 0x2000
mov dword [ebp - 0x35c], 0xdeadbeef
sub esp, 0x10
mov dword [ebp - 0x360], 0xdeadbeef
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x360]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x368]
mov dword [esp + 4], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8010
mov dword [esp + 8], str.localhost
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
sub esp, 0x30
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x43c
xor eax, eax
cmp ebx, 0x80090318
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_status__lx._n
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x43d
mov dword [esp + 4], str.Output_buffer_size_changed._n
mov eax, dword [ebp - 0x318]
cmp dword [eax], 0x2000
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax + 4], 0x43e
mov dword [eax], 0x41c5d6
mov dword [esp + 4], str.Output_buffer_type_changed._n
mov eax, dword [ebp - 0x318]
cmp dword [eax + 4], 2
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x43f
xor eax, eax
mov dword [esp + 4], str.Did_not_expect_dwLower_to_be_set_on_new_context_n
cmp dword [ebp - 0x360], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x440
xor eax, eax
mov dword [esp + 4], str.Did_not_expect_dwUpper_to_be_set_on_new_context_n
cmp dword [ebp - 0x35c], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0040aa60
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x310], 2
mov dword [eax], 0
mov eax, dword [ebp - 0x30c]
mov dword [eax + 0xc], 0
mov eax, dword [ebp - 0x30c]
mov dword [eax + 0x10], 0
lea eax, [ebp - 0x37c]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x314]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x368]
mov dword [esp + 4], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8010
mov dword [esp + 8], str.localhost
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
sub esp, 0x30
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x44a
xor eax, eax
cmp ebx, 0x80090318
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_status__lx._n
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x44b
mov dword [esp + 4], str.Output_buffer_size_changed._n
mov eax, dword [ebp - 0x318]
cmp dword [eax], 0x2000
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax + 4], 0x44c
mov dword [eax], 0x41c5d6
mov dword [esp + 4], str.Output_buffer_type_changed._n
mov eax, dword [ebp - 0x318]
cmp dword [eax + 4], 2
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov edx, 1
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x44d
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + 0xc]
cmp eax, 5
je 0x40ed13
xor edx, edx
or eax, dword [0x472130]
sete dl
mov dword [esp], edx
mov dword [esp + 4], str.Wrong_buffer_size._n
call fcn.0040aa60
call fcn.004162e0
mov edx, 1
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x44f
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + 0x10]
cmp eax, 4
je 0x40ed53
xor edx, edx
or eax, dword [0x472130]
sete dl
mov dword [esp], edx
mov dword [esp + 4], str.Wrong_buffer_type._n
call fcn.0040aa60
mov edx, dword [ebp - 0x30c]
mov eax, dword [ebp - 0x380]
mov dword [edx], 0x2000
call fcn.0040a4c0
mov ebx, eax
cmp eax, 0xffffffff
je 0x40e3fc
mov eax, dword [ebp - 0x30c]
mov dword [eax], 4
mov eax, dword [ebp - 0x30c]
mov dword [eax + 0xc], 0
mov eax, dword [ebp - 0x30c]
mov dword [eax + 0x10], 0
mov eax, dword [ebp - 0x30c]
mov dword [eax + 0xc], 0
lea eax, [ebp - 0x37c]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x314]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x368]
mov dword [esp + 4], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8010
mov dword [esp + 8], str.localhost
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
sub esp, 0x30
mov esi, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x45f
xor eax, eax
cmp esi, 0x80090318
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_status__lx._n
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x460
mov dword [esp + 4], str.Output_buffer_size_changed._n
mov eax, dword [ebp - 0x318]
cmp dword [eax], 0x2000
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax + 4], 0x461
mov dword [eax], 0x41c5d6
mov dword [esp + 4], str.Output_buffer_type_changed._n
mov eax, dword [ebp - 0x318]
cmp dword [eax + 4], 2
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov edx, 1
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x462
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + 0xc]
cmp eax, 1
je 0x40eef2
xor edx, edx
or eax, dword [0x472130]
sete dl
mov dword [esp], edx
mov dword [esp + 4], str.Wrong_buffer_size._n
call fcn.0040aa60
call fcn.004162e0
mov edx, 1
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x464
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + 0x10]
cmp eax, 4
je 0x40ef32
xor edx, edx
or eax, dword [0x472130]
sete dl
mov dword [esp], edx
mov dword [esp + 4], str.Wrong_buffer_type._n
call fcn.0040aa60
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x35c], 0xdeadbeef
mov dword [ebp - 0x360], 0xdeadbeef
mov dword [eax], 5
mov eax, dword [ebp - 0x30c]
mov dword [eax + 0xc], 0
mov eax, dword [ebp - 0x30c]
mov dword [eax + 0x10], 0
mov eax, dword [ebp - 0x30c]
mov dword [eax + 0xc], 0
lea eax, [ebp - 0x37c]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x360]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x314]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x368]
mov dword [esp + 4], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8010
mov dword [esp + 8], str.localhost
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
sub esp, 0x30
mov esi, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x46f
xor eax, eax
cmp esi, 0x80090318
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_status__lx._n
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x470
mov dword [esp + 4], str.Output_buffer_size_changed._n
mov eax, dword [ebp - 0x318]
cmp dword [eax], 0x2000
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax + 4], 0x471
mov dword [eax], 0x41c5d6
mov dword [esp + 4], str.Output_buffer_type_changed._n
mov eax, dword [ebp - 0x318]
cmp dword [eax + 4], 2
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov edx, 1
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x472
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + 0xc]
cmp eax, 5
jbe 0x40f460
mov dword [esp], edx
mov dword [esp + 4], str.Wrong_buffer_size_n
call fcn.0040aa60
call fcn.004162e0
mov edx, 1
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x474
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + 0x10]
cmp eax, 4
je 0x40f0fe
xor edx, edx
or eax, dword [0x472130]
sete dl
mov dword [esp], edx
mov dword [esp + 4], str.Wrong_buffer_type._n
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x476
xor eax, eax
mov dword [esp + 4], str.Did_not_expect_dwLower_to_be_set_on_new_context_n
cmp dword [ebp - 0x360], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x477
xor eax, eax
mov dword [esp + 4], str.Did_not_expect_dwUpper_to_be_set_on_new_context_n
cmp dword [ebp - 0x35c], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0040aa60
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x310], 1
mov dword [eax], ebx
lea eax, [ebp - 0x37c]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x360]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x314]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x368]
mov dword [esp + 4], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8090
mov dword [esp + 8], str.localhost
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
mov ebx, eax
mov eax, dword [ebp - 0x30c]
sub esp, 0x30
mov dword [eax], 0x2000
cmp ebx, 0x90312
jne 0x40f472
mov esi, dword [ebp - 0x380]
mov edi, dword [ebp - 0x384]
jmp 0x40f395
mov dword [ebp - 0x35c], 0xdeadbeef
mov dword [ebx + 4], 2
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x310], 2
mov dword [eax + 0x10], 0
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x360], 0xdeadbeef
mov dword [eax + 0xc], 0xdeadbeef
lea eax, [ebp - 0x37c]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x314]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x368]
mov dword [esp + 4], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], pe_nt_image_headers32
mov dword [esp + 8], str.localhost
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
sub esp, 0x30
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x499
xor eax, eax
cmp ebx, 0x80090308
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_status__lx._n
call fcn.0040aa60
lea eax, [ebp - 0x37c]
mov dword [ebp - 0x310], 1
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x314]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x368]
mov dword [esp + 4], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], pe_nt_image_headers32
mov dword [esp + 8], str.localhost
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
mov edx, dword [ebp - 0x30c]
sub esp, 0x30
mov dword [edx], 0x2000
cmp eax, 0x90312
jne 0x40f470
mov ebx, dword [ebp - 0x318]
mov dword [esp + 0xc], 0
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [ebx + 8]
mov dword [esp], esi
mov dword [esp + 4], eax
call edi
mov dword [ebx], 0x2000
sub esp, 0x10
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov edx, dword [ebp - 0x360]
mov dword [eax + 4], 0x485
mov eax, dword [ebp - 0x368]
mov dword [esp + 0xc], edx
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], str.dwLower_mismatch__expected__Ix__got__Ix_n
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x487
mov edx, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x364]
mov dword [esp + 4], str.dwUpper_mismatch__expected__Ix__got__Ix_n
mov dword [esp + 0xc], edx
cmp edx, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov ebx, dword [ebp - 0x30c]
mov eax, esi
mov edx, ebx
call fcn.0040a4c0
cmp eax, 0xffffffff
jne 0x40f220
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor edx, edx
or eax, dword [0x472130]
sete dl
jmp 0x40f0be
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4a2
mov dword [esp + 4], str.Output_buffer_size_was_not_set_to_0._n
mov eax, dword [ebp - 0x318]
mov edi, dword [eax]
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4a3
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.InitializeSecurityContext_failed:__08lx_n
mov dword [esp], eax
call fcn.0040aa60
test ebx, ebx
jne 0x410330
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4a8
mov eax, dword [ebp - 0x37c]
mov dword [esp + 4], 0x41cabf
cmp eax, 0x809c
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
lea eax, [ebp - 0x378]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x370]
mov dword [esp], eax
call sub.secur32.dll_QueryCredentialsAttributesA
sub esp, 0xc
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4ac
xor eax, eax
cmp ebx, 0x8009030e
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.expected_SEC_E_NO_CREDENTIALS__got__08lx_n
call fcn.0040aa60
lea eax, [ebp - 0x374]
mov dword [esp + 4], 0x53
mov dword [esp + 8], eax
lea eax, [ebp - 0x368]
mov dword [esp], eax
call sub.secur32.dll_QueryContextAttributesA
sub esp, 0xc
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4af
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.QueryContextAttributesW_SECPKG_ATTR_REMOTE_CERT_CONTEXT__failed:__08lx_n
mov dword [esp], eax
call fcn.0040aa60
test ebx, ebx
je 0x410191
lea eax, [ebp - 0x334]
lea edi, [ebp - 0x308]
mov dword [ebp - 0x388], eax
lea ebx, [ebp - 0x2b4]
lea eax, [ebp - 0x368]
mov dword [esp + 8], edi
mov dword [esp + 4], 0x5a
mov dword [esp], eax
call sub.secur32.dll_QueryContextAttributesA
sub esp, 0xc
mov esi, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4f1
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp + 4], str.QueryContextAttributesW_SECPKG_ATTR_CONNECTION_INFO__failed:__08lx_n
mov dword [esp], eax
call fcn.0040aa60
test esi, esi
je 0x410872
xor eax, eax
mov edi, ebx
mov ecx, 0xaa
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x368]
mov dword [ebp - 0x2b4], 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x64
mov dword [esp], eax
call sub.secur32.dll_QueryContextAttributesA
sub esp, 0xc
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4fa
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x41cabf
mov dword [esp], eax
call fcn.0040aa60
test ebx, ebx
je 0x410409
mov eax, dword [ebp - 0x388]
mov dword [esp + 4], 5
mov dword [esp + 8], eax
lea eax, [ebp - 0x368]
mov dword [esp], eax
call sub.secur32.dll_QueryContextAttributesA
sub esp, 0xc
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x514
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.QueryContextAttributesW_SECPKG_ATTR_KEY_INFO__failed:__08lx_n
mov dword [esp], eax
call fcn.0040aa60
test ebx, ebx
je 0x410353
lea eax, [ebp - 0x348]
mov dword [esp + 4], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x368]
mov dword [esp], eax
call sub.secur32.dll_QueryContextAttributesA
sub esp, 0xc
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x51e
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.QueryContextAttributesW_SECPKG_ATTR_STREAM_SIZES__failed:__08lx_n
call fcn.0040aa60
lea eax, [ebp - 0x350]
mov dword [esp + 4], 0xc
mov dword [esp + 8], eax
lea eax, [ebp - 0x368]
mov dword [esp], eax
call sub.secur32.dll_QueryContextAttributesA
sub esp, 0xc
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x521
xor eax, eax
cmp ebx, 0x80090302
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.QueryContextAttributesA_returned__08lx_n
mov dword [esp], eax
call fcn.0040aa60
mov ebx, dword [ebp - 0x31c]
test ebx, ebx
je 0x40f7e3
xor edx, edx
xor eax, eax
lea esi, [esi]
mov ecx, dword [ebp - 0x318]
mov dword [ecx + edx + 4], 0
test eax, eax
je 0x40f7d5
mov ecx, dword [ebp - 0x318]
mov dword [ecx + edx], 0
mov ecx, dword [ebp - 0x318]
mov dword [ecx + edx + 8], 0
add eax, 1
add edx, 0xc
cmp eax, dword [ebp - 0x31c]
jb 0x40f7a8
mov eax, dword [ebp - 0x318]
mov edx, dword [ebp - 0x348]
mov esi, dword [str.GET__tests_clientcert__HTTP_1.1_r_nHost:_test.winehq.org_r_nConnection:_close_r_n_r_n]
mov ebx, dword [eax + 8]
mov dword [eax], edx
mov dword [eax + 4], 7
lea ecx, [ebx + edx]
mov dword [eax + 0x10], 1
lea edx, [ebx + edx + 0x4d]
mov dword [eax + 0x14], ecx
lea edi, [ecx + 4]
mov dword [eax + 0xc], 0x4d
and edi, 0xfffffffc
mov dword [ecx], esi
mov esi, dword [0x41e6a9]
mov dword [ecx + 0x49], esi
sub ecx, edi
mov esi, str.GET__tests_clientcert__HTTP_1.1_r_nHost:_test.winehq.org_r_nConnection:_close_r_n_r_n
sub esi, ecx
add ecx, 0x4d
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 0x20], edx
mov dword [eax + 0x1c], 6
mov edx, dword [ebp - 0x344]
mov dword [eax + 0x18], edx
lea eax, [ebp - 0x320]
mov dword [esp + 8], eax
lea eax, [ebp - 0x368]
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.secur32.dll_EncryptMessage
sub esp, 0x10
mov esi, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x535
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp + 4], str.EncryptMessage_failed:__08lx_n
mov dword [esp], eax
call fcn.0040aa60
test esi, esi
jne 0x40e3fc
mov esi, dword [ebp - 0x318]
mov dword [esp + 0xc], 0
mov eax, dword [esi + 0xc]
add eax, dword [esi]
add eax, dword [esi + 0x18]
mov dword [esp + 8], eax
mov eax, dword [esi + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x380]
mov dword [esp], eax
mov eax, dword [ebp - 0x384]
call eax
mov ecx, dword [ebp - 0x31c]
sub esp, 0x10
test ecx, ecx
je 0x40f933
xor eax, eax
xor edx, edx
lea esi, [esi]
nop
mov ecx, dword [ebp - 0x318]
mov dword [ecx + eax + 4], 0
test edx, edx
je 0x40f925
mov ecx, dword [ebp - 0x318]
mov dword [ecx + eax], 0
mov ecx, dword [ebp - 0x318]
mov dword [ecx + eax + 8], 0
add edx, 1
add eax, 0xc
cmp edx, dword [ebp - 0x31c]
jb 0x40f8f8
mov dword [esi], 0x2000
mov eax, dword [ebp - 0x380]
mov edx, esi
call fcn.0040a4c0
sub dword [ebp - 0x31c], 1
mov esi, eax
lea eax, [ebp - 0x320]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
lea eax, [ebp - 0x368]
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.secur32.dll_DecryptMessage
sub esp, 0x10
mov edi, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x544
xor eax, eax
cmp edi, 0x80090308
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.Expected_SEC_E_INVALID_TOKEN__got__08lx_n
call fcn.0040aa60
lea eax, [ebp - 0x320]
add dword [ebp - 0x31c], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0x368]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.secur32.dll_DecryptMessage
sub esp, 0x10
mov edi, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x549
xor eax, eax
cmp edi, 0x80090308
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.Expected_SEC_E_INVALID_TOKEN__got__08lx_n
call fcn.0040aa60
mov eax, dword [ebp - 0x318]
mov dword [eax + 4], 1
mov eax, dword [ebp - 0x318]
mov dword [eax + 0x10], 1
lea eax, [ebp - 0x320]
mov dword [esp + 4], eax
lea eax, [ebp - 0x368]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.secur32.dll_DecryptMessage
sub esp, 0x10
mov edi, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x54f
xor eax, eax
cmp edi, 0x80090308
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.Expected_SEC_E_INVALID_TOKEN__got__08lx_n
call fcn.0040aa60
mov eax, dword [ebp - 0x318]
mov dword [eax + 0x10], 5
lea eax, [ebp - 0x320]
mov dword [esp + 4], eax
lea eax, [ebp - 0x368]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.secur32.dll_DecryptMessage
sub esp, 0x10
mov edi, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x554
xor eax, eax
cmp edi, 0x80090308
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.Expected_SEC_E_INVALID_TOKEN__got__08lx_n
call fcn.0040aa60
mov edx, dword [ebp - 0x318]
mov dword [edx + 0x10], 0
movzx eax, word [ebx + 3]
rol ax, 8
movzx eax, ax
mov dword [edx], eax
lea eax, [ebp - 0x320]
mov dword [esp + 4], eax
lea eax, [ebp - 0x368]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.secur32.dll_DecryptMessage
sub esp, 0x10
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x55a
xor eax, eax
cmp ebx, 0x80090318
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Expected_SEC_E_INCOMPLETE_MESSAGE__got__08lx_n
call fcn.0040aa60
call fcn.004162e0
mov dword [eax + 4], 0x55b
mov dword [eax], 0x41c5d6
mov dword [esp + 4], str.Expected_first_buffer_to_be_SECBUFFER_MISSING_n
mov eax, dword [ebp - 0x318]
cmp dword [eax + 4], 4
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x55c
mov dword [esp + 4], str.Expected_first_buffer_to_be_a_five_bytes_n
mov eax, dword [ebp - 0x318]
cmp dword [eax], 5
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, dword [ebp - 0x318]
mov dword [eax + 4], 1
mov eax, dword [ebp - 0x318]
mov dword [eax], esi
mov eax, dword [ebp - 0x318]
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
lea eax, [ebp - 0x320]
mov dword [esp + 4], eax
lea eax, [ebp - 0x368]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.secur32.dll_DecryptMessage
sub esp, 0x10
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x566
xor eax, eax
cmp ebx, 0x90321
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Expected_SEC_I_RENEGOTIATE__got__08lx_n
call fcn.0040aa60
call fcn.004162e0
mov dword [eax + 4], 0x567
mov dword [eax], 0x41c5d6
mov eax, dword [ebp - 0x318]
mov eax, dword [eax + 4]
mov dword [esp + 4], 0x41d3f7
cmp eax, 7
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x568
mov eax, dword [ebp - 0x318]
mov eax, dword [eax]
mov dword [esp + 4], 0x41d3f7
cmp eax, 5
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x569
mov eax, dword [ebp - 0x318]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], 0x41d3f7
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x56a
mov eax, dword [ebp - 0x318]
mov eax, dword [eax + 0xc]
mov dword [esp + 4], 0x41d3f7
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x56b
mov eax, dword [ebp - 0x318]
mov eax, dword [eax + 0x1c]
mov dword [esp + 4], 0x41d3f7
cmp eax, 6
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov ebx, dword [0x472130]
call fcn.004162e0
xor ecx, ecx
mov edi, dword [eax + 0x10]
test ebx, ebx
mov dword [eax + 0x14], 1
setne cl
lea edx, [edi + edi]
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x40fde8
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x56c
mov eax, dword [ebp - 0x318]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], 0x41d3f7
cmp eax, 0x20
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
shr dword [eax + 0x10], 1
call fcn.004162e0
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x40fda8
mov dword [ebp - 0x354], 0x41db20
lea eax, [ebp - 0x358]
mov dword [ebp - 0x358], 0xb21
mov dword [esp + 8], 0x9001
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.crypt32.dll_PFXImportCertStore]
sub esp, 0xc
mov ebx, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x571
mov esi, dword fs:[0x18]
mov eax, dword [esi + 0x34]
mov dword [esp + 4], 0x41d3f7
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.0040aa60
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], ebx
call dword [sym.imp.crypt32.dll_CertFindCertificateInStore]
sub esp, 0x18
mov dword [ebp - 0x374], eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x574
mov eax, dword [esi + 0x34]
mov dword [esp + 4], 0x41d3f7
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x374]
xor eax, eax
test edx, edx
setne al
mov dword [esp], eax
call fcn.0040aa60
lea eax, [ebp - 0x374]
mov dword [ebp - 0x2e8], 1
mov dword [ebp - 0x2e4], eax
lea eax, [ebp - 0x370]
mov dword [esp], eax
call sub.secur32.dll_FreeCredentialsHandle
lea eax, [ebp - 0x370]
sub esp, 4
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x2ec]
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], str.Microsoft_Unified_Security_Protocol_Provider
mov dword [esp], 0
call sub.secur32.dll_AcquireCredentialsHandleA
sub esp, 0x24
mov esi, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x57c
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.AcquireCredentialsHandleA_failed:__08lx_n
call fcn.0040aa60
mov ecx, 0x2000
mov edx, 4
lea eax, [ebp - 0x320]
call fcn.00409eb0
mov ecx, 0x2000
mov edx, 4
lea eax, [ebp - 0x314]
call fcn.00409eb0
mov eax, dword [ebp - 0x318]
mov dword [eax + 4], 2
lea eax, [ebp - 0x37c]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x368]
mov dword [esp + 0x20], eax
mov dword [esp + 4], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8010
mov dword [esp + 8], str.localhost
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
mov edi, dword [0x472130]
sub esp, 0x30
mov esi, eax
call fcn.004162e0
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test edi, edi
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x410089
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x585
xor eax, eax
cmp esi, 0x90312
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Expected_SEC_I_CONTINUE_NEEDED__got__08lx_n
call fcn.0040aa60
call fcn.004162e0
shr dword [eax + 0x10], 1
call fcn.004162e0
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x410050
cmp esi, 0x90312
je 0x4108e1
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x588
mov dword [esp], str.skipping_remaining_renegotiate_test_n
call fcn.0040a3e0
lea eax, [ebp - 0x368]
mov dword [esp], eax
call sub.secur32.dll_DeleteSecurityContext
lea eax, [ebp - 0x374]
sub esp, 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x368]
mov dword [esp + 4], 0x53
mov dword [esp], eax
call sub.secur32.dll_QueryContextAttributesW
sub esp, 0xc
mov esi, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x5b7
xor eax, eax
cmp esi, 0x80090301
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.QueryContextAttributesW_SECPKG_ATTR_REMOTE_CERT_CONTEXT__got__08lx_n
call fcn.0040aa60
lea eax, [ebp - 0x370]
mov dword [esp], eax
call sub.secur32.dll_FreeCredentialsHandle
mov eax, dword [ebp - 0x374]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
sub esp, 4
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [sym.imp.crypt32.dll_CertCloseStore]
lea eax, [ebp - 0x320]
sub esp, 8
call fcn.00409fa0
lea eax, [ebp - 0x314]
call fcn.00409fa0
mov eax, dword [ebp - 0x380]
mov dword [esp], eax
call dword [sym.imp.ws2_32.dll_closesocket]
sub esp, 4
jmp 0x40e3fc
mov dword [ebp - 0x308], 0xdeadbeef
mov edi, dword [ebp - 0x374]
mov dword [ebp - 0x304], 0xdeadbeef
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x212
xor eax, eax
mov dword [esp + 4], str.hCertStore__NULL_n
mov esi, dword [edi + 0x10]
test esi, esi
setne al
xor esi, esi
mov dword [esp], eax
call fcn.0040aa60
xor eax, eax
jmp 0x4101ed
cmp edi, eax
mov ecx, 1
cmove ebx, ecx
add esi, 1
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call dword [sym.imp.crypt32.dll_CertEnumCertificatesInStore]
sub esp, 8
test eax, eax
jne 0x4101e0
call fcn.004162e0
lea edi, [ebp - 0x308]
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x21a
xor eax, eax
cmp esi, 2
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.cert_cnt___u_n
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x21b
mov dword [esp], ebx
lea ebx, [ebp - 0x2b4]
mov dword [esp + 4], str.context_does_not_contain_cert_itself_n
call fcn.0040aa60
lea eax, [ebp - 0x368]
mov dword [esp + 8], edi
mov dword [esp + 4], 0x1a
mov dword [esp], eax
call sub.secur32.dll_QueryContextAttributesA
sub esp, 0xc
mov esi, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4b6
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.QueryContextAttributesW_SECPKG_ATTR_ENDPOINT_BINDINGS__failed:__08lx_n
call fcn.0040aa60
lea eax, [ebp - 0x334]
mov dword [ebp - 0x388], eax
test esi, esi
je 0x410e0a
lea eax, [ebp - 0x368]
mov dword [esp + 8], edi
mov dword [esp + 4], 0x19
mov dword [esp], eax
call sub.secur32.dll_QueryContextAttributesA
sub esp, 0xc
mov esi, eax
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4d7
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp + 4], str.QueryContextAttributesW_SECPKG_ATTR_UNIQUE_BINDINGS__failed:__08lx_n
mov dword [esp], eax
call fcn.0040aa60
test esi, esi
je 0x410bfc
mov eax, dword [ebp - 0x374]
mov dword [esp], eax
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
sub esp, 4
jmp 0x40f5d7
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4a5
mov dword [esp], str.Handshake_failed_n
call fcn.0040a3e0
jmp 0x40e3fc
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x516
mov eax, dword [ebp - 0x328]
mov dword [esp + 4], str.key_info.SignatureAlgorithm___04lx_n
cmp eax, 0x2400
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x518
mov ebx, dword [ebp - 0x334]
mov dword [esp + 4], 0x41d655
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll_strcmp]
mov dword [esp + 8], ebx
test eax, eax
mov dword [esp + 4], str.key_info.sSignatureAlgorithmName___s_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x51a
mov eax, dword [ebp - 0x32c]
mov dword [esp + 4], str.key_info.KeySize___ld_n
cmp eax, 0x7f
mov dword [esp + 8], eax
seta al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
jmp 0x40f6ee
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4fd
mov eax, dword [ebp - 0x2b0]
mov dword [esp + 4], 0x41d541
cmp eax, 0x301
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov ebx, dword [0x472130]
call fcn.004162e0
xor ecx, ecx
mov edi, dword [eax + 0x10]
test ebx, ebx
mov dword [eax + 0x14], 1
setne cl
lea edx, [edi + edi]
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x4104af
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4fe
mov eax, dword [ebp - 0x2ac]
mov dword [esp + 4], 0x41d541
cmp eax, 0xc014
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
shr dword [eax + 0x10], 1
call fcn.004162e0
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x410470
mov ebx, dword [0x472130]
call fcn.004162e0
xor ecx, ecx
mov edi, dword [eax + 0x10]
test ebx, ebx
mov dword [eax + 0x14], 1
setne cl
lea edx, [edi + edi]
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x41052f
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4ff
mov eax, dword [ebp - 0x2a8]
mov dword [esp + 4], 0x41d541
cmp eax, 0xc014
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
shr dword [eax + 0x10], 1
call fcn.004162e0
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x4104f0
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x500
lea eax, [ebp - 0x2a4]
call fcn.0040a0c0
mov dword [esp + 4], str.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
mov ebx, dword [sym.imp.msvcrt.dll_wcscmp]
mov esi, eax
lea eax, [ebp - 0x2a4]
mov dword [esp], eax
call ebx
mov edx, eax
mov eax, 1
test edx, edx
jne 0x411136
mov dword [esp + 8], esi
lea edi, [ebp - 0x224]
mov dword [esp], eax
mov dword [esp + 4], 0x41d5e4
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x503
mov eax, edi
call fcn.0040a0c0
mov dword [esp], edi
lea edi, [ebp - 0x19c]
mov esi, eax
mov dword [esp + 4], 0x41d5ec
call ebx
mov dword [esp + 8], esi
test eax, eax
mov dword [esp + 4], 0x41d5e4
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x504
mov eax, dword [ebp - 0x1a4]
mov dword [esp + 4], 0x41d3f7
cmp eax, 0x100
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x505
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], 0x41d3f7
cmp eax, 0x10
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x506
mov eax, edi
call fcn.0040a0c0
mov dword [esp + 4], str.SHA1
mov esi, eax
mov dword [esp], edi
call ebx
mov dword [esp + 8], esi
test eax, eax
mov dword [esp + 4], 0x41d5e4
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x507
mov eax, dword [ebp - 0x11c]
mov dword [esp + 4], 0x41d3f7
cmp eax, 0xa0
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x508
lea eax, [ebp - 0x118]
call fcn.0040a0c0
mov dword [esp + 4], str.ECDH
mov esi, eax
lea eax, [ebp - 0x118]
mov dword [esp], eax
call ebx
mov edx, eax
mov eax, 1
test edx, edx
jne 0x411116
mov dword [esp + 8], esi
lea edi, [ebp - 0x90]
mov dword [esp], eax
mov dword [esp + 4], 0x41d5e4
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x50a
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], 0x41d3f7
test eax, 0xfffffeff
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x50c
mov edx, dword [ebp - 0x94]
mov dword [esp + 4], 0x41d3f7
cmp edx, 0x10000
mov dword [esp + 8], edx
sete al
cmp edx, 0x100
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x50e
mov eax, edi
call fcn.0040a0c0
mov dword [esp], edi
mov esi, eax
mov dword [esp + 4], 0x41d61c
call ebx
mov dword [esp + 8], esi
test eax, eax
mov dword [esp + 4], 0x41d5e4
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov ebx, dword [0x472130]
call fcn.004162e0
xor ecx, ecx
mov edi, dword [eax + 0x10]
test ebx, ebx
mov dword [eax + 0x14], 1
setne cl
lea edx, [edi + edi]
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x41085a
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x50f
mov edx, dword [ebp - 0x10]
mov dword [esp + 4], str.got__lx_n
cmp edx, 0x1d
mov dword [esp + 8], edx
sete al
cmp edx, 0x17
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
shr dword [eax + 0x10], 1
call fcn.004162e0
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x410818
jmp 0x40f694
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4f3
mov eax, dword [ebp - 0x300]
mov dword [esp + 4], str.conn_info.dwCipherStrength___ld_n
cmp eax, 0x7f
mov dword [esp + 8], eax
seta al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4f4
mov eax, dword [ebp - 0x2f8]
mov dword [esp + 4], str.conn_info.dwHashStrength___ld_n
cmp eax, 0x7f
mov dword [esp + 8], eax
seta al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
jmp 0x40f62b
mov esi, dword [ebp - 0x318]
mov dword [esp + 0xc], 0
mov eax, dword [esi]
mov dword [esp + 8], eax
mov eax, dword [esi + 8]
mov dword [esp + 4], eax
mov edi, dword [ebp - 0x380]
mov dword [esp], edi
mov eax, dword [ebp - 0x384]
call eax
mov dword [esi], 0x2000
mov edx, dword [ebp - 0x30c]
mov eax, edi
sub esp, 0x10
mov dword [edx], 0x2000
call fcn.0040a4c0
cmp eax, 0xffffffff
je 0x40e3fc
mov eax, dword [ebp - 0x30c]
lea ecx, [ebp - 0x37c]
mov dword [eax + 4], 2
mov dword [esp + 0x28], ecx
lea ecx, [ebp - 0x320]
mov dword [esp + 0x24], ecx
lea ecx, [ebp - 0x360]
mov dword [esp + 0x20], ecx
lea ecx, [ebp - 0x314]
mov dword [esp + 0x18], ecx
lea ecx, [ebp - 0x368]
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8090
mov dword [esp + 8], str.localhost
mov dword [esp], ecx
call sub.secur32.dll_InitializeSecurityContextA
mov esi, eax
mov eax, dword [ebp - 0x30c]
sub esp, 0x30
mov dword [eax], 0x2000
cmp esi, 0x90312
jne 0x410bce
mov dword [ebp - 0x388], ebx
mov esi, dword [ebp - 0x384]
lea esi, [esi]
nop
mov ebx, dword [ebp - 0x318]
mov dword [esp + 0xc], 0
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [ebx + 8]
mov dword [esp], edi
mov dword [esp + 4], eax
call esi
mov dword [ebx], 0x2000
mov ebx, dword [0x472130]
sub esp, 0x10
call fcn.004162e0
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test ebx, ebx
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x410a76
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov edx, dword [ebp - 0x360]
mov dword [eax + 4], 0x5a1
mov eax, dword [ebp - 0x368]
mov dword [esp + 0xc], edx
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], str.dwLower_mismatch__expected__Ix__got__Ix_n
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
shr dword [eax + 0x10], 1
call fcn.004162e0
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x410a30
mov ebx, dword [0x472130]
call fcn.004162e0
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test ebx, ebx
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x410af6
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x5a3
mov edx, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x364]
mov dword [esp + 4], str.dwUpper_mismatch__expected__Ix__got__Ix_n
mov dword [esp + 0xc], edx
cmp edx, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
shr dword [eax + 0x10], 1
call fcn.004162e0
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x410ab0
mov ebx, dword [ebp - 0x30c]
mov eax, edi
mov edx, ebx
call fcn.0040a4c0
cmp eax, 0xffffffff
je 0x40e3fc
mov dword [ebp - 0x35c], 0xdeadbeef
lea eax, [ebp - 0x37c]
mov dword [ebp - 0x360], 0xdeadbeef
mov dword [ebx + 4], 2
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x320]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x360]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x314]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x368]
mov dword [esp + 4], eax
lea eax, [ebp - 0x370]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], pe_nt_image_headers32
mov dword [esp + 8], str.localhost
mov dword [esp], eax
call sub.secur32.dll_InitializeSecurityContextA
mov edx, dword [ebp - 0x30c]
sub esp, 0x30
mov dword [edx], 0x2000
cmp eax, 0x90312
je 0x4109e0
mov ebx, dword [ebp - 0x388]
mov esi, eax
mov eax, 0x5b1
call fcn.0040a060
xor eax, eax
cmp esi, 0x80090328
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x41cabf
mov dword [esp], eax
call fcn.0040aa60
jmp 0x4100c6
mov eax, 0x4dd
call fcn.0040a060
mov eax, dword [ebp - 0x308]
mov dword [esp + 4], str.bindings.BindingsLength___lu_n
cmp eax, 0x2b
mov dword [esp + 8], eax
seta al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4df
call fcn.0040a060
mov eax, dword [ebp - 0x304]
mov eax, dword [eax]
mov dword [esp + 4], str.dwInitiatorAddrType___lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4e0
call fcn.0040a060
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 4]
mov dword [esp + 4], str.cbInitiatorLength___lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4e1
call fcn.0040a060
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 8]
mov dword [esp + 4], str.dwInitiatorOffset___lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4e2
call fcn.0040a060
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 0xc]
mov dword [esp + 4], str.dwAcceptorAddrType___lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4e3
call fcn.0040a060
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], str.cbAcceptorLength___lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4e4
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 0x14]
mov dword [esp + 4], str.dwAcceptorOffset___lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4e5
call fcn.0040a060
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], str.cbApplicationDataLength___lx_n
mov dword [esp + 8], eax
add eax, 0x20
cmp eax, dword [ebp - 0x308]
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4e7
call fcn.0040a060
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 0x1c]
mov dword [esp + 4], str.dwApplicationDataOffset___lx_n
cmp eax, 0x20
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov esi, dword [ebp - 0x304]
mov eax, 0x4ea
lea edx, [esi + 0x20]
mov dword [ebp - 0x38c], edx
call fcn.0040a060
cmp dword [esi + 0x20], 0x2d736c74
mov edx, dword [ebp - 0x38c]
je 0x411156
mov eax, 1
xor eax, 1
mov dword [esp + 4], str.wrong_prefix_n
mov dword [esp], eax
call fcn.0040aa60
mov eax, dword [ebp - 0x304]
mov dword [esp], eax
call sub.secur32.dll_FreeContextBuffer
sub esp, 4
jmp 0x410314
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4be
mov eax, dword [ebp - 0x308]
mov dword [esp + 4], str.bindings.BindingsLength___lu_n
cmp eax, 0x55
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4c0
call fcn.0040a060
mov eax, dword [ebp - 0x304]
mov eax, dword [eax]
mov dword [esp + 4], str.dwInitiatorAddrType___lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax + 4], 0x4c1
mov dword [eax], 0x41c5d6
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 4]
mov dword [esp + 4], str.cbInitiatorLength___lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4c2
call fcn.0040a060
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 8]
mov dword [esp + 4], str.dwInitiatorOffset___lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4c3
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 0xc]
mov dword [esp + 4], str.dwAcceptorAddrType___lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
call fcn.004162e0
mov dword [eax], 0x41c5d6
mov dword [eax + 4], 0x4c4
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], str.cbAcceptorLength___lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4c5
call fcn.0040a060
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 0x14]
mov dword [esp + 4], str.dwAcceptorOffset___lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4c6
call fcn.0040a060
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], str.cbApplicationDataLength___lx_n
mov dword [esp + 8], eax
add eax, 0x20
cmp eax, dword [ebp - 0x308]
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4c8
call fcn.0040a060
mov eax, dword [ebp - 0x304]
mov eax, dword [eax + 0x1c]
mov dword [esp + 4], str.dwApplicationDataOffset___lx_n
cmp eax, 0x20
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov esi, dword [ebp - 0x304]
mov eax, 0x4cb
call fcn.0040a060
mov dword [esp + 8], 0x15
lea eax, [esi + 0x20]
mov dword [esp + 4], str.tls_server_end_point:
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.missing_prefix_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov ecx, dword [ebp - 0x388]
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0x334], 0x40
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x10], edx
mov eax, dword [eax + 4]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x800c
mov dword [esp], 0
call dword [sym.imp.crypt32.dll_CryptHashCertificate]
sub esp, 0x1c
mov dword [ebp - 0x38c], eax
mov eax, 0x4d0
call fcn.0040a060
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], 0x41d3f7
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x38c]
mov dword [esp], edx
call fcn.0040aa60
mov eax, 0x4d1
call fcn.0040a060
mov eax, dword [ebp - 0x334]
mov dword [esp + 4], str.hash_size___lu_n
cmp eax, 0x20
mov dword [esp + 8], eax
sete al
add esi, 0x35
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, 0x4d2
call fcn.0040a060
mov eax, dword [ebp - 0x334]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.unexpected_hash_part_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040aa60
mov eax, dword [ebp - 0x304]
mov dword [esp], eax
call sub.secur32.dll_FreeContextBuffer
sub esp, 4
jmp 0x4102c0
lea eax, [ebp - 0x118]
mov dword [esp + 4], str.ECDH_P256
mov dword [esp], eax
call ebx
test eax, eax
sete al
movzx eax, al
jmp 0x410715
lea eax, [ebp - 0x2a4]
mov dword [esp + 4], str.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256
mov dword [esp], eax
call ebx
test eax, eax
sete al
movzx eax, al
jmp 0x410589
cmp dword [edx + 4], 0x71696e75
jne 0x410ddc
xor eax, eax
cmp dword [edx + 7], 0x3a657571
jne 0x410ddc
jmp 0x410de1