Function at 0x10186990
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c4
mov eax, dword [0x10373f78]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
add eax, 0x18
mov dword [ebp - 0x160], 0
push ebx
mov ebx, dword [ebp + 0xc]
add eax, eax
push esi
mov esi, dword [ebp + 8]
push edi
cmp byte [ebx + 0x1f5], 0
mov edi, 0x198
mov eax, dword [ebx + eax*8]
mov cl, byte [ebx + 0xb0]
mov dword [ebp - 0x144], esi
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x14c], 0x1a8
je 0x10186aae
mov dl, byte [eax + 0x48]
cmp cl, 2
jne 0x10186a29
cmp dword [ebx + 0x134], 0xffffffff
mov eax, edi
cmovne eax, dword [ebp - 0x14c]
cmp dword [eax + ebx], 2
je 0x10186a29
mov al, byte [esi + 0x4a7]
jmp 0x10186a2f
mov al, byte [esi + 0x43f]
test al, al
je 0x10186a4d
test dl, dl
mov dword [ebp - 0x168], 0x1820
mov eax, 0x1808
cmove eax, dword [ebp - 0x168]
jmp 0x10186ab3
cmp cl, 2
jne 0x10186a70
cmp dword [ebx + 0x134], 0xffffffff
mov eax, edi
cmovne eax, dword [ebp - 0x14c]
cmp dword [eax + ebx], 2
je 0x10186a70
mov al, byte [esi + 0x4a9]
jmp 0x10186a76
mov al, byte [esi + 0x441]
test al, al
je 0x10186a94
test dl, dl
mov dword [ebp - 0x168], 0x1a20
mov eax, 0x1a08
cmove eax, dword [ebp - 0x168]
jmp 0x10186ab3
test dl, dl
mov dword [ebp - 0x168], 0x220
mov eax, 0x208
cmove eax, dword [ebp - 0x168]
jmp 0x10186ab3
mov eax, 0x1808
mov edx, eax
or edx, 4
cmp byte [ebx + 0x1f6], 0
cmovne edx, eax
cmp cl, 2
jne 0x10186ae6
cmp dword [ebx + 0x134], 0xffffffff
mov eax, edi
mov ecx, 0x1a8
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x10186ae6
mov cl, byte [esi + 0x4ab]
jmp 0x10186aec
mov cl, byte [esi + 0x443]
mov eax, edx
or eax, 0x10
test cl, cl
cmove edx, eax
mov eax, str.schannel:_enabled_automatic_use_of_client_certificate
mov dword [ebp - 0x168], edx
mov edx, str.schannel:_disabled_automatic_use_of_client_certificate
cmove eax, edx
push eax
push esi
call fcn.10170c50
mov esi, dword [ebx + 0x1bc]
add esp, 8
cmp esi, 7
ja case.default.0x10186b29
movzx eax, byte [esi + 0x10187c14]
jmp dword [eax*4 + 0x10187c0c]
mov cl, byte [ebx + 0xb0]
cmp cl, 2
jne 0x10186b7f
cmp dword [ebx + 0x134], 0xffffffff
mov eax, edi
mov edx, 0x1a8
cmovne eax, edx
cmp dword [eax + ebx], 2
je 0x10186b60
mov esi, dword [ebx + 0x1fc]
mov edi, dword [ebx + 0x200]
jmp 0x10186b85
cmp cl, 2
jne 0x10186b7f
cmp dword [ebx + 0x134], 0xffffffff
mov eax, edi
cmovne eax, edx
cmp dword [eax + ebx], 2
je 0x10186b7f
mov edi, dword [ebx + 0x200]
jmp 0x10186b85
mov edi, dword [ebx + 0x1c0]
test edi, edi
je 0x10186b91
cmp edi, 0x10000
jne 0x10186bb5
push 3
push 2
push 0x4f7c
push 0
push 0xa
call fcn.1018d9b0
add esp, 0x14
mov edi, 0x60000
test al, al
mov ecx, 0x70000
cmovne edi, ecx
sar edi, 0x10
cmp esi, edi
jg 0x10186c1b
add esi, 0xfffffffc
nop
cmp esi, 3
ja case.default.0x10186bc5
jmp dword [esi*4 + 0x10187c1c]
or dword [ebp - 0x15c], 0x80
jmp case.default.0x10186bc5
or dword [ebp - 0x15c], 0x200
jmp case.default.0x10186bc5
or dword [ebp - 0x15c], 0x800
jmp case.default.0x10186bc5
push 3
push 2
push 0x4f7c
push 0
push 0xa
call fcn.1018d9b0
add esp, 0x14
test al, al
je 0x10186c7b
or dword [ebp - 0x15c], 0x2000
inc esi
lea eax, [esi + 4]
cmp eax, edi
jle 0x10186bc0
mov edx, dword [ebp - 0x144]
xor edi, edi
mov ecx, dword [edx + 0x3f0]
test ecx, ecx
jne 0x10186ca5
cmp dword [edx + 0x404], edi
je 0x101873a4
mov eax, dword [edx + 0x404]
xor esi, esi
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x180], edi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x178], edi
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x14c], edi
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x174], eax
jmp 0x10186ee1
mov ecx, dword [ebp - 0x144]
push str.schannel:_TLS_1.3_not_supported_on_Windows_prior_to_11
push ecx
call fcn.10170b90
add esp, 8
pop edi
pop esi
mov eax, 0x23
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0x404]
xor esi, esi
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], edi
mov dword [ebp - 0x164], edi
mov dword [ebp - 0x174], edi
mov dword [ebp - 0x154], eax
test eax, eax
je 0x10186d07
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x174], eax
jmp 0x10186ee1
push ecx
call fcn.10280f7c
mov esi, eax
add esp, 4
test esi, esi
je case.0x10187b68.2146893056
push 0x5c
push esi
call fcn.1028016f
add esp, 8
mov dword [ebp - 0x14c], eax
test eax, eax
je 0x10186e9e
mov edi, eax
sub edi, esi
push edi
push str.CurrentUser
push esi
call fcn.10280223
add esp, 0xc
test eax, eax
jne 0x10186d59
mov dword [ebp - 0x158], 0x10000
jmp 0x10186e36
push edi
push str.LocalMachine
push esi
call fcn.10280223
add esp, 0xc
test eax, eax
jne 0x10186d7b
mov dword [ebp - 0x158], 0x20000
jmp 0x10186e36
push edi
push str.CurrentService
push esi
call fcn.10280223
add esp, 0xc
test eax, eax
jne 0x10186d9d
mov dword [ebp - 0x158], 0x40000
jmp 0x10186e36
push edi
push str.Services
push esi
call fcn.10280223
add esp, 0xc
test eax, eax
jne 0x10186dbc
mov dword [ebp - 0x158], 0x50000
jmp 0x10186e36
push edi
push str.Users
push esi
call fcn.10280223
add esp, 0xc
test eax, eax
jne 0x10186ddb
mov dword [ebp - 0x158], 0x60000
jmp 0x10186e36
push edi
push str.CurrentUserGroupPolicy
push esi
call fcn.10280223
add esp, 0xc
test eax, eax
jne 0x10186dfa
mov dword [ebp - 0x158], 0x70000
jmp 0x10186e36
push edi
push str.LocalMachineGroupPolicy
push esi
call fcn.10280223
add esp, 0xc
test eax, eax
jne 0x10186e19
mov dword [ebp - 0x158], 0x80000
jmp 0x10186e36
push edi
push str.LocalMachineEnterprise
push esi
call fcn.10280223
add esp, 0xc
test eax, eax
jne 0x10186e9e
mov dword [ebp - 0x158], 0x90000
mov eax, dword [ebp - 0x14c]
inc eax
push 0x5c
push eax
call fcn.1028016f
mov edi, eax
add esp, 8
test edi, edi
je 0x10186e9e
lea eax, [edi + 1]
mov ecx, eax
mov dword [ebp - 0x178], eax
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10186e60
sub ecx, edx
cmp ecx, 0x28
jne 0x10186e9e
mov byte [edi], al
mov eax, dword [ebp - 0x14c]
inc eax
push eax
call dword [0x1037301c]
add esp, 4
mov dword [ebp - 0x180], eax
mov byte [edi], 0x5c
test eax, eax
jne 0x10186f49
mov dword [ebp - 0x16c], 0x1b
jmp 0x10186ea8
mov dword [ebp - 0x16c], 0x3a
mov ecx, dword [ebp - 0x144]
mov eax, dword [ecx + 0x3f0]
cmp byte [eax], 0
je 0x10187b82
push 0x102c0e28
push eax
call fcn.101840e0
mov edi, eax
add esp, 8
mov dword [ebp - 0x14c], edi
test edi, edi
je 0x10187b82
mov edx, dword [ebp - 0x144]
mov eax, dword [edx + 0x428]
test eax, eax
je 0x10186f2d
push 0x102c8410
push eax
call fcn.10176b40
add esp, 8
test eax, eax
jne 0x10186f27
cmp dword [ebp - 0x154], eax
mov eax, str._memory_blob_
mov ecx, dword [ebp - 0x144]
jne 0x10186f16
mov eax, dword [ecx + 0x3f0]
push eax
push str.schannel:_certificate_format_compatibility_error__for__s
push ecx
call fcn.10170b90
add esp, 0xc
jmp 0x10186f98
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x154]
test edi, edi
jne 0x1018707b
test eax, eax
jne 0x1018707b
mov eax, dword [ebp - 0x180]
mov edi, dword [ebp - 0x158]
push eax
mov eax, edi
or eax, 0x4000
push eax
push 0
push 0
push 9
call dword [sym.imp.CRYPT32.dll_CertOpenStore]
mov dword [ebp - 0x150], eax
test eax, eax
jne 0x10186fbf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x144]
push eax
push ebx
push edi
push str.schannel:_Failed_to_open_cert_store__x__s__last_error_is_0x_x
push ecx
call fcn.10170b90
push ebx
call dword [0x10373014]
add esp, 0x18
test esi, esi
je 0x1018732b
push esi
call fcn.10275083
add esp, 4
mov eax, 0x3a
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x180]
call dword [0x10373014]
add esp, 4
mov dword [ebp - 0x18c], 0x14
lea eax, [ebp - 0x18]
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x18c]
push 0
push 0
push eax
lea eax, [ebp - 0x18]
push eax
push 4
push 0x28
push dword [ebp - 0x178]
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x10187036
test esi, esi
je 0x10187011
push esi
call fcn.10275083
add esp, 4
mov edi, dword [ebp - 0x150]
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
pop edi
pop esi
mov eax, 0x3a
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x150]
lea eax, [ebp - 0x18c]
push 0
push eax
push 0x10000
push 0
push 0x10001
push edi
call dword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov dword [ebp - 0x160], eax
test esi, esi
je 0x10187071
push esi
call fcn.10275083
mov eax, dword [ebp - 0x160]
add esp, 4
test eax, eax
jne 0x101873a4
jmp 0x10187017
xor edi, edi
test eax, eax
je 0x1018708d
mov dword [ebp - 0x16c], str._memory_blob_
jmp 0x10187099
mov eax, dword [edx + 0x3f0]
mov dword [ebp - 0x16c], eax
test esi, esi
je 0x101870a6
push esi
call fcn.10275083
add esp, 4
mov esi, dword [ebp - 0x14c]
test esi, esi
je 0x10187139
xor eax, eax
push 2
push eax
push esi
mov dword [ebp - 0x14c], eax
call fcn.1027d284
add esp, 0xc
test eax, eax
sete cl
mov byte [ebp - 0x13d], cl
test eax, eax
jne 0x101871e8
push esi
call fcn.1027d922
add esp, 4
mov dword [ebp - 0x14c], eax
test eax, eax
jns 0x101871ec
mov byte [ebp - 0x13d], 0
mov eax, dword [ebp - 0x164]
mov edx, dword [ebp - 0x174]
test eax, eax
je 0x10187243
push esi
push 1
push edx
push eax
call fcn.102768e0
add esp, 0x10
cmp eax, 1
jne 0x10187243
push esi
call fcn.102762b9
add esp, 4
cmp byte [ebp - 0x13d], 0
je 0x1018724c
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x17c], eax
mov eax, dword [ecx + 0x438]
test eax, eax
je 0x1018716f
mov edi, eax
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x10187166
sub edi, ecx
lea eax, [edi*2 + 2]
push eax
call dword [0x10373010]
mov esi, eax
add esp, 4
test esi, esi
je 0x101872b7
test edi, edi
je 0x10187288
mov eax, dword [ebp - 0x144]
lea ecx, [edi + 1]
push ecx
push esi
push edi
push dword [eax + 0x438]
push 8
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jns 0x1018728a
xor eax, eax
mov word [esi], ax
push 3
push 2
push 0
push 0
push 6
call fcn.1018d9b0
add esp, 0x14
test al, al
lea eax, [ebp - 0x17c]
je 0x1018729d
push 0x8000
jmp 0x1018729f
xor eax, eax
jmp 0x101871f2
mov cl, byte [ebp - 0x13d]
mov edx, eax
mov dword [ebp - 0x174], edx
test cl, cl
je 0x10187238
push 0
push 0
push esi
call fcn.1027d284
add esp, 0xc
test eax, eax
sete byte [ebp - 0x13d]
test eax, eax
jne 0x101870f9
mov eax, dword [ebp - 0x14c]
inc eax
push eax
call dword [0x10373010]
add esp, 4
mov dword [ebp - 0x164], eax
jmp 0x101870ff
mov eax, dword [ebp - 0x164]
jmp 0x10187105
push esi
call fcn.102762b9
add esp, 4
mov eax, dword [ebp - 0x144]
push dword [eax + 0x3f0]
push str.schannel:_Failed_to_read_cert_file__s
push eax
call fcn.10170b90
push dword [ebp - 0x164]
call dword [0x10373014]
add esp, 0x10
mov eax, 0x3a
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
xor eax, eax
cmp eax, edi
jg 0x101871b9
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x101871be
push 0
push esi
push eax
call dword [sym.imp.CRYPT32.dll_PFXImportCertStore]
push esi
mov dword [ebp - 0x150], eax
call dword [0x10373014]
add esp, 4
cmp dword [ebp - 0x154], 0
jne 0x101872cf
push dword [ebp - 0x164]
call dword [0x10373014]
add esp, 4
mov esi, dword [ebp - 0x150]
test esi, esi
jne 0x10187341
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x56
jne 0x10187311
push dword [ebp - 0x16c]
push str.schannel:_Failed_to_import_cert_file__s__password_is_bad
push dword [ebp - 0x144]
call fcn.10170b90
add esp, 0xc
lea eax, [esi + 0x3a]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
push eax
push dword [ebp - 0x16c]
push str.schannel:_Failed_to_import_cert_file__s__last_error_is_0x_x
push dword [ebp - 0x144]
call fcn.10170b90
add esp, 0x10
pop edi
pop esi
mov eax, 0x3a
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
push 0
push 0
push 0
push 0
push 0x10001
push esi
call dword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov dword [ebp - 0x160], eax
test eax, eax
jne 0x1018739e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x16c]
push str.schannel:_Failed_to_get_certificate_from_file__s__last_error_is_0x_x
push dword [ebp - 0x144]
call fcn.10170b90
add esp, 0x10
push 0
push esi
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
pop edi
pop esi
mov eax, 0x3a
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x150]
push 0x20
push 1
call dword [0x10373020]
mov ecx, dword [ebp - 0x184]
add esp, 8
mov dword [ecx], eax
test eax, eax
jne 0x1018740a
push str.schannel:_unable_to_allocate_memory
push dword [ebp - 0x144]
call fcn.10170b90
mov eax, dword [ebp - 0x160]
add esp, 8
test eax, eax
je 0x101873e1
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
mov eax, dword [ebp - 0x150]
test eax, eax
je case.0x10187b68.2146893056
push 0
push eax
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
push 3
push 2
mov dword [eax + 0x18], 1
mov eax, dword [ecx]
push 0x4563
push 0
push 0xa
mov dword [eax + 0x14], edi
call fcn.1018d9b0
mov cl, byte [ebx + 0xb0]
add esp, 0x14
mov byte [ebp - 0x140], cl
test al, al
je 0x1018798c
push 0x2c
lea eax, [ebp - 0x1b8]
push 0
push eax
call fcn.10267270
push 0x70
xorps xmm0, xmm0
lea eax, [ebp - 0xac]
push 0
push eax
movups xmmword [ebp - 0x1c], xmm0
movq qword [ebp - 0xc], xmm0
call fcn.10267270
xorps xmm0, xmm0
xor ecx, ecx
add esp, 0x18
movlpd qword [ebp - 0x17c], xmm0
cmp byte [ebp - 0x140], 2
movlpd qword [ebp - 0x170], xmm0
mov dword [ebp - 0x154], ecx
jne 0x101874b4
cmp dword [ebx + 0x134], 0xffffffff
mov eax, 0x198
mov edx, 0x1a8
cmovne eax, edx
cmp dword [eax + ebx], 2
je 0x101874b4
mov edi, dword [ebx + 0x218]
jmp 0x101874ba
mov edi, dword [ebx + 0x1d8]
test edi, edi
je 0x10187910
mov dh, 1
mov byte [ebp - 0x13e], 1
xor ecx, ecx
mov byte [ebp - 0x145], dh
mov al, dh
mov dword [ebp - 0x14c], ecx
movups xmmword [ebp - 0x3c], xmm0
mov byte [ebp - 0x140], dh
movups xmmword [ebp - 0x2c], xmm0
mov byte [ebp - 0x13f], dh
mov byte [ebp - 0x13d], al
cmp byte [edi], 0
je 0x1018774f
cmp ecx, 5
jge 0x1018774f
push 0x3a
push edi
call fcn.102669b0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1018751e
mov esi, ebx
sub esi, edi
jmp 0x1018752c
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10187523
sub esi, ecx
cmp esi, 0x1f
ja 0x10187726
push esi
lea eax, [ebp - 0x3c]
push edi
push eax
call fcn.10275c30
add esp, 0xc
mov byte [ebp + esi - 0x3c], 0
cmp byte [ebp - 0x13e], 0
je 0x101875a2
lea ecx, [ebp - 0x3c]
mov eax, str.TLS_AES_256_GCM_SHA384
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10187580
test dl, dl
je 0x1018757c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10187580
add eax, 2
add ecx, 2
test dl, dl
jne 0x10187560
xor eax, eax
jmp 0x10187585
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101875a2
mov al, byte [ebp - 0x13d]
xor ah, ah
mov dh, byte [ebp - 0x145]
mov byte [ebp - 0x13e], ah
jmp 0x101876d7
mov dh, byte [ebp - 0x145]
test dh, dh
je 0x101875f0
lea ecx, [ebp - 0x3c]
mov eax, str.TLS_AES_128_GCM_SHA256
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101875d4
test dl, dl
je 0x101875d0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101875d4
add eax, 2
add ecx, 2
test dl, dl
jne 0x101875b4
xor eax, eax
jmp 0x101875d9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101875f0
mov al, byte [ebp - 0x13d]
xor dh, dh
mov byte [ebp - 0x145], dh
jmp 0x101876d1
cmp byte [ebp - 0x140], 0
je 0x1018763b
lea ecx, [ebp - 0x3c]
mov eax, str.TLS_CHACHA20_POLY1305_SHA256
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10187621
test dl, dl
je 0x1018761d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10187621
add eax, 2
add ecx, 2
test dl, dl
jne 0x10187601
xor eax, eax
jmp 0x10187626
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1018763b
mov byte [ebp - 0x140], al
mov al, byte [ebp - 0x13d]
jmp 0x101876d1
cmp byte [ebp - 0x13f], 0
je 0x1018768f
lea ecx, [ebp - 0x3c]
mov eax, str.TLS_AES_128_CCM_8_SHA256
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10187670
test dl, dl
je 0x1018766c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10187670
add eax, 2
add ecx, 2
test dl, dl
jne 0x10187650
xor eax, eax
jmp 0x10187675
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1018768f
mov al, byte [ebp - 0x13d]
xor dl, dl
mov ah, byte [ebp - 0x13e]
mov byte [ebp - 0x13f], dl
jmp 0x101876dd
cmp byte [ebp - 0x13d], 0
je 0x101876fd
lea ecx, [ebp - 0x3c]
mov eax, str.TLS_AES_128_CCM_SHA256
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101876c0
test dl, dl
je 0x101876bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101876c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101876a0
xor eax, eax
jmp 0x101876c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101876fd
xor al, al
mov byte [ebp - 0x13d], al
mov ah, byte [ebp - 0x13e]
mov dl, byte [ebp - 0x13f]
mov edi, ebx
test ebx, ebx
je 0x101876e6
lea edi, [ebx + 1]
mov ecx, dword [ebp - 0x14c]
inc ecx
mov dword [ebp - 0x14c], ecx
test edi, edi
jne 0x101874f5
jmp 0x1018775b
push str.Passed_in_an_unknown_TLS_1.3_cipher.
push dword [ebp - 0x144]
call fcn.10170b90
add esp, 8
mov eax, 0x3b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
push str.Cipher_name_too_long__not_checked.
push dword [ebp - 0x144]
call fcn.10170b90
add esp, 8
mov eax, 0x3b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
mov ah, byte [ebp - 0x13e]
mov dl, byte [ebp - 0x13f]
test ah, ah
je 0x1018779d
test dh, dh
je 0x1018779d
cmp byte [ebp - 0x140], 0
je 0x1018779d
test dl, dl
je 0x101877a1
test al, al
je 0x101877a9
push str.All_available_TLS_1.3_ciphers_were_disabled.
push dword [ebp - 0x144]
call fcn.10170b90
add esp, 8
mov eax, 0x3b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
test dl, dl
jne 0x101877a9
test al, al
je 0x10187827
mov dword [ebp - 0x17c], 0x200020
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0x178], str.ChainingModeCCM
mov dword [ebp - 0xac], 2
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0xa8], 0x80008
mov dword [ebp - 0xa4], 0x102c86cc
cmp dl, al
je 0x1018781a
test dl, dl
je 0x10187810
mov edi, 1
mov dword [ebp - 0x98], 0x80
mov dword [ebp - 0x154], edi
jmp 0x10187829
mov dword [ebp - 0x94], 0x40
mov edi, 1
mov dword [ebp - 0x154], edi
jmp 0x10187829
xor edi, edi
test ah, ah
jne 0x10187835
test dh, dh
je 0x101878d0
mov bh, byte [ebp - 0x145]
lea edx, [edi*8]
sub edx, edi
mov dword [ebp - 0x170], 0x200020
mov dword [ebp - 0x16c], str.ChainingModeGCM
cmp ah, bh
je 0x1018786d
test ah, ah
mov esi, 0x102c86f4
mov ecx, 0x102c8704
cmove esi, ecx
jmp 0x10187872
mov esi, 0x102c86cc
mov bl, byte [ebp - 0x13e]
xor eax, eax
cmp bl, bh
sete al
lea eax, [eax*4 + 4]
movzx ecx, ax
xor eax, eax
cmp bl, bh
setne al
add eax, 2
inc edi
mov dword [ebp + edx*4 - 0xac], eax
lea eax, [ebp - 0x170]
mov word [ebp + edx*4 - 0xa8], cx
mov word [ebp + edx*4 - 0xa6], cx
mov dword [ebp + edx*4 - 0xa4], esi
mov dword [ebp + edx*4 - 0x9c], eax
mov dword [ebp + edx*4 - 0xa0], 1
mov dword [ebp - 0x154], edi
cmp byte [ebp - 0x140], 0
je 0x1018790a
lea eax, [edi*8]
sub eax, edi
inc edi
mov dword [ebp - 0x154], edi
mov dword [ebp + eax*4 - 0xac], 2
mov dword [ebp + eax*4 - 0xa8], 0x240024
mov dword [ebp + eax*4 - 0xa4], str.CHACHA20_POLY1305
mov ecx, dword [ebp - 0x154]
lea eax, [ebp - 0xac]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0xc], eax
or ecx, 0x400000
cmp dword [ebp - 0x160], 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x15c]
not eax
mov dword [ebp - 0x194], 1
mov dword [ebp - 0x1b8], 5
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x14], eax
je 0x10187975
lea eax, [ebp - 0x160]
mov dword [ebp - 0x1b0], 1
mov dword [ebp - 0x1ac], eax
mov ebx, dword [ebp - 0x184]
mov ecx, dword [ebx]
lea eax, [ecx + 8]
push eax
lea eax, [ebp - 0x1b8]
jmp 0x10187aec
cmp cl, 2
jne 0x101879b3
cmp dword [ebx + 0x134], 0xffffffff
mov eax, 0x198
mov ecx, 0x1a8
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x101879b3
mov esi, dword [ebx + 0x214]
jmp 0x101879b9
mov esi, dword [ebx + 0x1d4]
push 0x38
lea eax, [ebp - 0x1c4]
push 0
push eax
call fcn.10267270
mov ecx, dword [ebp - 0x168]
add esp, 0xc
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x1c4], 4
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x1a4], eax
test esi, esi
je 0x10187aaf
xor edi, edi
cmp byte [esi], 0
je 0x10187a72
cmp edi, 0x2f
jge 0x10187a72
push 0
push 0
push esi
call fcn.10277c08
add esp, 0xc
test eax, eax
jne 0x10187a54
push esi
call fcn.10185bd0
add esp, 4
test eax, eax
jne 0x10187a54
push 0x11
push str.USE_STRONG_CRYPTO
push esi
call fcn.1027cc10
add esp, 0xc
test eax, eax
je 0x10187a48
push 0x15
push str.SCH_USE_STRONG_CRYPTO
push esi
call fcn.1027cc10
add esp, 0xc
test eax, eax
jne 0x10187a86
or dword [ebp - 0x194], 0x400000
jmp 0x10187a5c
mov dword [ebp + edi*4 - 0xf8], eax
inc edi
push 0x3a
push esi
call fcn.102669b0
mov esi, eax
add esp, 8
test esi, esi
je 0x10187a72
add esi, 1
jne 0x101879f8
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x1ac], edi
mov dword [ebp - 0x1a8], eax
jmp 0x10187abb
push str.Unable_to_set_ciphers_to_passed_via_SSL_CONN_CONFIG
push dword [ebp - 0x144]
call fcn.10170b90
add esp, 8
mov eax, 0x3b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
or ecx, 0x400000
mov dword [ebp - 0x194], ecx
cmp dword [ebp - 0x160], 0
je 0x10187ada
lea eax, [ebp - 0x160]
mov dword [ebp - 0x1c0], 1
mov dword [ebp - 0x1bc], eax
mov ebx, dword [ebp - 0x184]
mov ecx, dword [ebx]
lea eax, [ecx + 8]
push eax
lea eax, [ebp - 0x1c4]
push ecx
push 0
push 0
push eax
mov eax, dword [0x10385fa0]
push 0
push 2
push str.Microsoft_Unified_Security_Protocol_Provider
mov eax, dword [eax + 0xc]
push 0
call eax
mov esi, eax
mov eax, dword [ebp - 0x160]
test eax, eax
je 0x10187b1a
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
test esi, esi
je 0x10187b6f
push 0x100
lea eax, [ebp - 0x13c]
push eax
push esi
call fcn.1015c940
push eax
push str.schannel:_AcquireCredentialsHandle_failed:__s
push dword [ebp - 0x144]
call fcn.10170b90
push dword [ebx]
call dword [0x10373014]
add esi, 0x7ff6fd00
mov dword [ebx], 0
add esp, 0x1c
cmp esi, 0xe
ja case.0x10187b68.2146893055
movzx eax, byte [esi + 0x10187c38]
jmp dword [eax*4 + 0x10187c2c]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x144]
push dword [eax + 0x3f0]
push str.schannel:_Failed_to_get_certificate_location_or_file_for__s
push eax
call fcn.10170b90
push esi
call fcn.10275083
mov eax, dword [ebp - 0x16c]
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
push str.SSL_versions_not_supported
push dword [ebp - 0x144]
call fcn.10170b90
add esp, 8
mov eax, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102649e4
mov esp, ebp
pop ebp
ret
push str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
push dword [ebp - 0x144]
call fcn.10170b90
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
mov eax, 0x23
pop edi
pop esi
pop ebx
call fcn.102649e4
mov esp, ebp
pop ebp
ret