Function at 0x10043710
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0xd0], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, ecx
mov dword [esp + 0xc], edx
push esi
xor esi, esi
mov dword [esp + 0x1c], eax
push edi
mov dl, byte [ebx + 4]
and dl, 1
mov byte [esp + 0x13], dl
cmp dword [ebx + 0x10], esi
jne 0x100437d5
mov ecx, dword [ebx + 4]
mov dword [esp + 0x24], esi
test cl, 2
jne case.0x10043796.4
mov eax, ecx
and al, 0x30
cmp al, 0x20
je 0x100437d5
test dl, dl
je 0x10043773
test ecx, 0x10040
jmp 0x10043779
test ecx, 0x8000
jne 0x100437d5
test cl, cl
js 0x100437d5
test ecx, 0x100000
jne case.0x10043796.4
mov eax, dword [ebx]
cmp eax, 4
ja case.0x10043796.4
jmp dword [eax*4 + 0x10043eac]
test dl, dl
jmp 0x100437a9
cmp dword [ebx + 8], esi
jne 0x100437ab
cmp dword [ebx + 0xc], esi
je 0x100437d5
test ecx, 0x2000
je 0x100437ef
mov eax, dword [ebx + 0x18]
test al, 3
je 0x100437be
test al, 4
je 0x100437ef
test byte [0x10059ab8], 4
je 0x100437d5
push str.No_valid_cipher_suites_presented
push eax
call fcn.10001400
add esp, 8
mov eax, 0x80070057
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
push 0x208
push 0
push dword [0x10059a38]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
test edi, edi
jne 0x1004383e
test byte [0x10059ab8], 2
je 0x10043824
push eax
push 0x208
push str.QUIC_ACH_CONTEXT
call fcn.10001500
add esp, 0xc
mov eax, 0x8007000e
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
push 0x208
push 0
push edi
call fcn.10049330
movups xmm0, xmmword [ebx]
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0x190]
add esp, 0xc
movups xmmword [edi], xmm0
movups xmm0, xmmword [ebx + 0x10]
push 0x18
push 0
push dword [0x10059a38]
mov dword [edi + 0x188], eax
lea eax, [edi + 0x178]
movups xmmword [edi + 0x10], xmm0
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], 0x1000ac10
mov dword [edi + 0x184], 2
mov dword [edi + 0x174], eax
mov dword [edi + 0x170], 1
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [edi + 0x148], eax
test eax, eax
jne 0x100438d3
test byte [0x10059ab8], 2
je 0x100438c9
push eax
push 0x18
push str.CXPLAT_SEC_CONFIG
call fcn.10001500
add esp, 0xc
mov esi, 0x8007000e
jmp 0x10043e2a
xorps xmm0, xmm0
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm0
mov eax, dword [edi + 0x148]
mov dword [eax + 4], 0xffffffff
mov eax, dword [edi + 0x148]
mov dword [eax], 0xffffffff
mov ecx, dword [edi + 0x148]
mov eax, dword [ebx + 4]
mov dword [ecx + 8], eax
mov ecx, dword [edi + 0x148]
movq xmm0, qword [0x10058080]
movq qword [ecx + 0xc], xmm0
mov eax, dword [0x10058088]
mov dword [ecx + 0x14], eax
lea ecx, [edi + 0x14c]
mov edx, dword [ecx + 0x20]
or edx, 0x400000
mov dword [ecx], 5
mov dword [ecx + 0x20], edx
test byte [ebx + 4], 4
je 0x10043942
or edx, 8
mov dword [ecx + 0x20], edx
test byte [ebx + 4], 8
je 0x10043951
or edx, 0x100000
mov dword [ecx + 0x20], edx
test byte [ebx + 4], 0x20
mov eax, edx
je 0x10043968
cmp byte [esp + 0x13], 0
je 0x10043968
or eax, 0x4000000
mov dword [ecx + 0x20], eax
test dword [ebx + 4], 0x100
je 0x10043979
or eax, 0x100
mov dword [ecx + 0x20], eax
test dword [ebx + 4], 0x200
je 0x1004398a
or eax, 0x200
mov dword [ecx + 0x20], eax
test dword [ebx + 4], 0x400
je 0x1004399b
or eax, 0x400
mov dword [ecx + 0x20], eax
test dword [ebx + 4], 0x800
je 0x100439ac
or eax, 0x800
mov dword [ecx + 0x20], eax
test dword [ebx + 4], 0x1000
je 0x100439bd
or eax, 0x1000
mov dword [ecx + 0x20], eax
test dword [ebx + 4], 0x20000
je 0x100439ce
or eax, 0x8000
mov dword [ecx + 0x20], eax
mov edx, dword [ebx + 4]
test edx, 0x40000
je 0x100439e4
or eax, 0x4000
mov dword [ecx + 0x20], eax
mov edx, dword [ebx + 4]
cmp byte [esp + 0x13], 0
je 0x100439fd
or eax, 0x10
mov dword [ecx + 0x20], eax
mov eax, dword [ecx + 0x28]
mov dword [eax + 8], 0xffffdfff
jmp 0x10043a23
test edx, 0x10000
jne 0x10043a0b
or eax, 2
mov dword [ecx + 0x20], eax
test byte [esp + 0x14], 1
mov eax, dword [ecx + 0x28]
mov dword [eax + 8], 0xffffefff
je 0x10043a23
or dword [ecx + 0x20], 0x80
mov dword [edi + 0x190], 2
lea ecx, [edi + 0x200]
mov dword [esp + 0x14], 0x240024
mov dl, 2
mov eax, dword [esp + 0x14]
mov dword [edi + 0x194], eax
mov dword [edi + 0x198], str.CHACHA20_POLY1305
mov dword [esp + 0x14], 0x200020
mov eax, dword [esp + 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], str.ChainingModeCCM
mov dword [esp + 0x14], 0x80008
mov eax, dword [esp + 0x14]
mov dword [edi + 0x1ac], 2
mov dword [edi + 0x1bc], ecx
mov dword [edi + 0x1b8], 1
mov dword [edi + 0x1b0], eax
mov dword [edi + 0x1b4], 0x100556e8
test dword [ebx + 4], 0x2000
mov byte [esp + 0x1f], dl
je 0x10043be2
mov ecx, dword [ebx + 0x18]
not ecx
mov eax, ecx
and eax, 3
cmp al, 3
jne 0x10043ae0
test byte [0x10059ab8], 4
je 0x10043ad6
push str.No_Allowed_TLS_Cipher_Suites
mov edx, 0x1004c7d0
call fcn.10001490
add esp, 4
mov esi, 0x80070057
jmp 0x10043e2a
test dl, cl
je 0x10043b4a
mov dword [esp + 0x14], 0x80008
mov dl, 4
mov eax, dword [esp + 0x14]
mov dword [edi + 0x1cc], eax
mov dword [edi + 0x1c8], 2
mov dword [edi + 0x1d0], 0x100556e8
mov dword [edi + 0x1e0], 0x80
mov dword [edi + 0x1dc], 0x80
mov dword [esp + 0x14], 0xe000e
mov eax, dword [esp + 0x14]
mov dword [edi + 0x1e4], 3
mov dword [edi + 0x1e8], eax
mov dword [edi + 0x1ec], str.SHA384
mov byte [esp + 0x1f], dl
test cl, 1
je 0x10043be2
movzx edx, dl
mov dword [esp + 0x14], 0x80008
lea eax, [edx*8]
sub eax, edx
lea ecx, [edi + eax*4]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x190], 2
mov dword [ecx + 0x194], eax
mov dword [ecx + 0x198], 0x100556e8
mov dword [ecx + 0x1a8], 0x100
lea ecx, [edx + 0xf]
mov dl, byte [esp + 0x1f]
lea eax, [ecx*8]
sub eax, ecx
mov dword [esp + 0x14], 0xe000e
inc dl
movzx ecx, dl
mov dword [edi + eax*4], 0x100
lea eax, [ecx*8]
sub eax, ecx
inc dl
lea ecx, [edi + eax*4]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x190], 3
mov dword [ecx + 0x194], eax
mov dword [ecx + 0x198], str.SHA256
movzx eax, dl
mov dword [edi + 0x184], eax
cmp dword [ebx], esi
je 0x10043c2e
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.10047ce0
mov esi, eax
test esi, esi
jns 0x10043c23
test byte [0x10059ab8], 4
je 0x10043e2a
push str.CxPlatCertCreate
push esi
lfence
call fcn.10001400
add esp, 8
jmp 0x10043e2a
lea ecx, [esp + 0x24]
mov edx, 1
jmp 0x10043c32
xor ecx, ecx
xor edx, edx
lea eax, [edi + 0x14c]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
test byte [0x10059abe], 0x80
je 0x10043c75
push str.__tls__Calling_AcquireCredentialsHandleW
push 0xffffffffffffffff
lea eax, [esp + 0x60]
push 0x80
push eax
call fcn.100015f0
lea eax, [esp + 0x68]
mov edx, 0x1004cf78
push eax
call fcn.10001490
add esp, 0x14
lea eax, [edi + 0x14c]
push 0
push dword [edi + 0x148]
push 0
push 0
push eax
movzx eax, byte [esp + 0x27]
push 0
inc eax
push eax
push str.Microsoft_Unified_Security_Protocol_Provider
push 0
call dword [sym.imp.Secur32.dll_AcquireCredentialsHandleW]
mov dword [esp + 0x14], eax
test eax, eax
je 0x10043cc2
test byte [0x10059ab8], 4
je 0x10043cbb
push 0x10055804
push eax
call fcn.10001400
mov eax, dword [esp + 0x1c]
add esp, 8
mov esi, eax
jmp 0x10043e2a
test byte [ebx + 4], 0x40
je 0x10043da4
mov edx, dword [edi + 0x148]
xorps xmm0, xmm0
movlpd qword [esp + 0x3c], xmm0
mov eax, dword [esp + 0x3c]
movlpd qword [esp + 0x44], xmm0
mov ecx, dword [edx + 8]
movlpd qword [esp + 0x4c], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x54], 0
movups xmm0, xmmword [0x1004df44]
movups xmmword [esp + 0x2c], xmm0
test ecx, 0x100
je 0x10043d1b
or eax, 0x10000000
mov dword [esp + 0x3c], eax
test ecx, 0x200
je 0x10043d2c
or eax, 0x20000000
mov dword [esp + 0x3c], eax
test ecx, 0x400
je 0x10043d3d
or eax, 0x40000000
mov dword [esp + 0x3c], eax
test ecx, 0x20000
je 0x10043d4c
or eax, 4
mov dword [esp + 0x3c], eax
test ecx, 0x40000
je 0x10043d5d
or eax, 0x80000000
mov dword [esp + 0x3c], eax
push 0x30
lea eax, [esp + 0x2c]
push eax
push 0x60
push edx
call dword [sym.imp.Secur32.dll_SetCredentialsAttributesW]
mov esi, eax
test esi, esi
je 0x10043d9e
test byte [0x10059ab8], 4
je 0x10043d8a
push str.SetCredentialsAttributesW_SECPKG_ATTR_CLIENT_CERT_POLICY__failed
push esi
call fcn.10001400
add esp, 8
cmp esi, 0x80090302
jne 0x10043d9c
mov esi, 0x80004002
jmp 0x10043e2a
test esi, esi
js 0x10043e2a
test byte [0x10059abe], 0x80
je 0x10043dd9
push esi
push str.__tls__Invoking_security_config_completion_callback_inline__0x_x
push 0xffffffffffffffff
lea eax, [esp + 0x64]
push 0x80
push eax
call fcn.100015f0
add esp, 0x14
lea eax, [esp + 0x58]
mov edx, 0x1004cf78
push eax
call fcn.10001490
add esp, 4
mov ecx, dword [esp + 0x20]
test esi, esi
js 0x10043dea
mov eax, dword [edi + 0x148]
mov dword [ecx + 0x18], eax
test byte [ebx + 4], 2
je 0x10043e0e
push esi
push dword [ecx + 4]
mov esi, dword [ebx + 0x14]
push ecx
mov ecx, esi
call dword [0x1004b298]
call esi
mov ecx, dword [esp + 0x2c]
add esp, 0xc
call fcn.1000a700
mov eax, dword [ebx + 4]
and al, 2
mov dword [edi + 0x148], 0
movzx esi, al
neg esi
sbb esi, esi
and esi, 0x703e5
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10043e3e
cmp eax, dword [ebx + 8]
je 0x10043e3e
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
mov ebx, dword [edi + 0x148]
test ebx, ebx
je 0x10043e69
cmp dword [ebx], 0xffffffff
je 0x10043e5a
cmp dword [ebx + 4], 0xffffffff
je 0x10043e5a
push ebx
call dword [sym.imp.Secur32.dll_FreeCredentialsHandle]
push ebx
push 0
push dword [0x10059a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push edi
push 0
push dword [0x10059a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0xdc]
mov eax, 0x80004002
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret