Function at 0x10046790
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1c0
mov eax, dword [0x100a3428]
xor eax, esp
mov dword [esp + 0x1bc], eax
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 8]
mov ebx, edx
push esi
mov dword [esp + 0x14], ebx
call fcn.100185c0
mov ebp, eax
push ebx
push esi
mov dword [esp + 0x48], ebp
call fcn.100185a0
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov ecx, dword [edi + 0x14]
add esp, 0xc
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x30], ecx
cmp dword [ebp + 0x3c], ebx
je 0x1004681f
mov edx, ecx
mov ecx, dword [edx + 0x54]
neg ecx
sbb ecx, ecx
and ecx, 0xffffffe8
add ecx, 0x20
cmp dword [eax + 0x78], ebx
je 0x100467ff
or ecx, 0x1800
mov dword [esp + 0x28], ecx
jmp 0x1004682b
cmp dword [eax + 0x80], ebx
je 0x10046813
or ecx, 0x1a00
mov dword [esp + 0x28], ecx
jmp 0x1004682b
or ecx, 0x200
mov dword [esp + 0x28], ecx
jmp 0x1004682b
mov dword [esp + 0x28], 0x1808
mov ecx, dword [esp + 0x28]
cmp dword [ebp + 0x40], ebx
jne 0x10046837
or ecx, 4
mov dword [esp + 0x28], ecx
mov edi, dword [esp + 0x10]
cmp dword [eax + 0x88], ebx
jne 0x10046854
and ecx, 0xffffffbf
or ecx, 0x10
mov dword [esp + 0x28], ecx
push str.schannel:_disabled_automatic_use_of_client_certificate
jmp 0x10046859
push str.schannel:_enabled_automatic_use_of_client_certificate
push edi
call fcn.1001ccc0
movzx eax, byte [ebp + 0x38]
add esp, 8
cmp eax, 7
ja case.default.0x10046876
movzx eax, byte [eax + 0x100474a4]
jmp dword [eax*4 + 0x1004749c]
mov ecx, dword [esp + 0x10]
push ecx
mov eax, esi
lea edi, [esp + 0x50]
call fcn.10046410
add esp, 4
test eax, eax
jne 0x10047483
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x3f8]
mov esi, 1
test eax, eax
jne 0x100468b7
cmp dword [edi + 0x40c], ebx
je 0x10046d80
mov ecx, dword [esp + 0x10]
xor esi, esi
xor ebx, ebx
xor ebp, ebp
xor edi, edi
cmp dword [ecx + 0x40c], esi
mov dword [esp + 0x34], esi
setne bl
mov dword [esp + 0x14], ebp
mov dword [esp + 0x2c], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x44], ebx
cmp ebx, esi
je 0x10046904
mov eax, dword [ecx + 0x40c]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
jmp 0x1004698d
push eax
call dword [sym.imp.MSVCR100.dll__strdup]
mov esi, eax
add esp, 4
test esi, esi
je 0x10046dc0
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x3c]
push eax
mov eax, esi
call fcn.10046620
mov edi, eax
add esp, 0xc
mov dword [esp + 0x50], edi
test edi, edi
je 0x10046a14
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x3f8]
cmp byte [eax], 0
je 0x10046966
push 0x100832b8
push eax
call sub.MSVCR100.dll_fopen
mov edi, eax
add esp, 8
test edi, edi
jne 0x10046989
mov edi, dword [esp + 0x50]
mov ecx, dword [ebp + 0x3f8]
push ecx
push str.schannel:_Failed_to_get_certificate_location_or_file_for__s
push ebp
call fcn.1001cb80
push esi
call dword [sym.imp.MSVCR100.dll_free]
add esp, 0x10
mov eax, edi
jmp 0x10047483
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x444]
test eax, eax
je 0x100469ed
push 0x10089914
push eax
call fcn.10013c60
add esp, 8
test eax, eax
jne 0x100469ed
test ebx, ebx
je 0x100469b8
mov eax, str._memory_blob_
jmp 0x100469c2
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x3f8]
mov ecx, dword [esp + 0x10]
push eax
push str.schannel:_certificate_format_compatibility_error__for__s
push ecx
call fcn.1001cb80
add esp, 0xc
test esi, esi
je 0x100469e3
push esi
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
mov eax, 0x3a
jmp 0x10047483
test edi, edi
jne 0x100469f5
test ebx, ebx
je 0x10046a18
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x2c], eax
cmp ebx, eax
je 0x10046b0e
mov dword [esp + 0x14], str._memory_blob_
jmp 0x10046b1c
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x34]
push ebp
mov edx, ebx
or edx, 0x4000
push edx
push 0
push 0
push 9
call dword [sym.imp.CRYPT32.dll_CertOpenStore]
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
jne 0x10046a63
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [esp + 0x14]
push ebp
push ebx
push str.schannel:_Failed_to_open_cert_store__x__s__last_error_is_0x_x
push eax
call fcn.1001cb80
push ebp
call dword [0x100a3004]
add esp, 0x18
jmp 0x100469d5
push ebp
call dword [0x100a3004]
add esp, 4
push 0
push 0
lea ecx, [esp + 0xbc]
lea edx, [esp + 0x5c]
push edx
mov eax, ecx
push eax
push 4
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x40]
push 0x28
push ecx
mov dword [esp + 0x70], 0x14
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x10046ac0
test esi, esi
je 0x10046aad
push esi
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, 0x3a
jmp 0x10047483
push 0
lea edx, [esp + 0x58]
push edx
push 0x10000
push 0
push 0x10001
push edi
call dword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov dword [esp + 0x24], eax
test esi, esi
je 0x10046aec
push esi
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
cmp dword [esp + 0x24], 0
jne 0x10046d6f
mov eax, dword [esp + 0x18]
push 0
push eax
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, 0x3a
jmp 0x10047483
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x3f8]
mov dword [esp + 0x14], edx
cmp esi, eax
je 0x10046b2a
push esi
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
test edi, edi
je 0x10046be8
mov ebx, dword [sym.imp.MSVCR100.dll_fseek]
push 2
xor ebp, ebp
push ebp
push edi
call ebx
add esp, 0xc
mov esi, eax
neg esi
sbb esi, esi
inc esi
je 0x10046b60
push edi
call dword [sym.imp.MSVCR100.dll_ftell]
mov ebp, eax
add esp, 4
test ebp, ebp
jns 0x10046b60
xor esi, esi
jmp 0x10046b8a
mov dword [esp + 0x20], ebp
test esi, esi
je 0x10046b8a
push 0
push 0
push edi
call ebx
add esp, 0xc
mov esi, eax
neg esi
sbb esi, esi
inc esi
je 0x10046b8a
inc ebp
push ebp
call dword [section..data]
add esp, 4
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0
je 0x10046bac
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push edi
push 1
push eax
push ecx
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
je 0x10046bae
xor esi, esi
push edi
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
test esi, esi
jne 0x10046be8
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x3f8]
push edx
push str.schannel:_Failed_to_read_cert_file__s
push eax
call fcn.1001cb80
mov eax, dword [esp + 0x28]
push eax
call dword [0x100a3004]
add esp, 0x10
lea eax, [esi + 0x3a]
jmp 0x10047483
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x454]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ecx
test eax, eax
je 0x10046c1d
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10046c10
sub eax, edx
mov edi, eax
jmp 0x10046c21
mov edi, dword [esp + 0x50]
lea edx, [edi + edi + 2]
push edx
call dword [section..data]
mov esi, eax
add esp, 4
test esi, esi
je 0x10046cc9
test edi, edi
je 0x10046c99
mov ecx, dword [ebx + 0x454]
lea eax, [edi + 1]
push eax
push esi
push edi
push ecx
push 8
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jns 0x10046c9d
xor eax, eax
mov word [esi], ax
push 3
push 2
push 0
push 0
push 6
call fcn.1004a450
add esp, 0x14
test eax, eax
je 0x10046ca9
push 0x8000
push esi
lea ecx, [esp + 0x3c]
push ecx
call dword [sym.imp.CRYPT32.dll_PFXImportCertStore]
mov edi, eax
push esi
mov dword [esp + 0x1c], edi
call dword [0x100a3004]
add esp, 4
jmp 0x10046ccd
mov eax, dword [esp + 0x2c]
cmp eax, edi
jg 0x10046c5b
xor edx, edx
mov word [esi + eax*2], dx
jmp 0x10046c60
push 0
push esi
lea edx, [esp + 0x3c]
push edx
call dword [sym.imp.CRYPT32.dll_PFXImportCertStore]
push esi
mov edi, eax
mov dword [esp + 0x1c], eax
call dword [0x100a3004]
add esp, 4
jmp 0x10046ccd
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x44], 0
jne 0x10046cde
push ebp
call dword [0x100a3004]
add esp, 4
test edi, edi
jne 0x10046d26
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x56
jne 0x10046d08
mov eax, dword [esp + 0x14]
push eax
push str.schannel:_Failed_to_import_cert_file__s__password_is_bad
push ebx
call fcn.1001cb80
add esp, 0xc
lea eax, [edi + 0x3a]
jmp 0x10047483
mov ecx, dword [esp + 0x14]
push eax
push ecx
push str.schannel:_Failed_to_import_cert_file__s__last_error_is_0x_x
push ebx
call fcn.1001cb80
add esp, 0x10
mov eax, 0x3a
jmp 0x10047483
push 0
push 0
push 0
push 0
push 0x10001
push edi
call dword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x10046d6f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x14]
push eax
push edx
push str.schannel:_Failed_to_get_certificate_from_file__s__last_error_is_0x_x
push ebx
call fcn.1001cb80
add esp, 0x10
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, 0x3a
jmp 0x10047483
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov esi, 1
push 0x20
push esi
call dword [0x100a3010]
mov ecx, dword [esp + 0x38]
add esp, 8
mov dword [ecx], eax
test eax, eax
jne 0x10046dca
push str.schannel:_unable_to_allocate_memory
push edi
call fcn.1001cb80
mov eax, dword [esp + 0x2c]
add esp, 8
test eax, eax
je 0x10046db3
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
test ebx, ebx
je 0x10046dc0
push 0
push ebx
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, 0x1b
jmp 0x10047483
push 3
push 2
push 0x4563
mov dword [eax + 0x18], esi
mov eax, dword [ecx]
push 0
push 0xa
mov dword [eax + 0x14], ebx
call fcn.1004a450
add esp, 0x14
test eax, eax
je 0x10047346
xor eax, eax
xor ebx, ebx
push 0x6c
lea ecx, [esp + 0xd4]
push ebx
push ecx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ebx
call sub.MSVCR100.dll_memset
mov edi, dword [ebp + 0x14]
xor eax, eax
xor edx, edx
add esp, 0xc
mov word [esp + 0x3c], dx
mov dword [esp + 0x3e], eax
mov word [esp + 0x42], ax
mov word [esp + 0x44], ax
mov dword [esp + 0x46], eax
mov word [esp + 0x4a], ax
mov dword [esp + 0x2c], ebx
cmp edi, ebx
je 0x100472b8
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x94], al
mov dword [esp + 0x95], eax
mov dword [esp + 0x99], eax
mov dword [esp + 0x9d], eax
mov dword [esp + 0xa1], eax
mov dword [esp + 0xa5], eax
mov dword [esp + 0xa9], eax
mov dword [esp + 0xad], eax
mov word [esp + 0xb1], ax
mov byte [esp + 0xb3], al
mov dword [esp + 0x34], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], esi
mov ebx, esi
mov edi, edi
cmp byte [edi], 0
je 0x100470c7
cmp dword [esp + 0x1c], 5
jge 0x100470c7
push 0x3a
push edi
call dword [sym.imp.MSVCR100.dll_strchr]
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x10046f2c
mov esi, ebp
sub esi, edi
jmp 0x10046f3c
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10046f31
sub eax, edx
mov esi, eax
cmp esi, 0x1f
ja 0x10047107
push esi
lea ecx, [esp + 0x98]
push edi
push ecx
call dword [sym.imp.MSVCR100.dll_strncpy]
mov byte [esp + esi + 0xa0], 0
xor esi, esi
add esp, 0xc
cmp dword [esp + 0x34], esi
je 0x10046fa6
lea ecx, [esp + 0x94]
mov eax, str.TLS_AES_256_GCM_SHA384
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10046f94
test dl, dl
je 0x10046f90
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10046f94
add eax, 2
add ecx, 2
test dl, dl
jne 0x10046f74
xor eax, eax
jmp 0x10046f99
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x10046fa6
mov dword [esp + 0x34], esi
jmp 0x100470b2
cmp dword [esp + 0x14], esi
je 0x10046fea
lea ecx, [esp + 0x94]
mov eax, str.TLS_AES_128_GCM_SHA256
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10046fd8
test dl, dl
je 0x10046fd4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10046fd8
add eax, 2
add ecx, 2
test dl, dl
jne 0x10046fb8
xor eax, eax
jmp 0x10046fdd
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x10046fea
mov dword [esp + 0x14], esi
jmp 0x100470b2
cmp dword [esp + 0x20], esi
je 0x10047032
lea ecx, [esp + 0x94]
mov eax, str.TLS_CHACHA20_POLY1305_SHA256
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10047020
test dl, dl
je 0x1004701c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10047020
add eax, 2
add ecx, 2
test dl, dl
jne 0x10047000
xor eax, eax
jmp 0x10047025
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x10047032
mov dword [esp + 0x20], esi
jmp 0x100470b2
cmp dword [esp + 0x18], esi
je 0x10047073
lea ecx, [esp + 0x94]
mov eax, str.TLS_AES_128_CCM_8_SHA256
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10047064
test dl, dl
je 0x10047060
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10047064
add eax, 2
add ecx, 2
test dl, dl
jne 0x10047044
xor eax, eax
jmp 0x10047069
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x10047073
mov dword [esp + 0x18], esi
jmp 0x100470b2
cmp ebx, esi
je 0x10047120
lea ecx, [esp + 0x94]
mov eax, str.TLS_AES_128_CCM_SHA256
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100470a7
test dl, dl
je 0x100470a3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100470a7
add eax, 2
add ecx, 2
test dl, dl
jne 0x10047087
xor eax, eax
jmp 0x100470ac
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x10047120
xor ebx, ebx
mov edi, ebp
cmp ebp, esi
je 0x100470bb
lea edi, [ebp + 1]
inc dword [esp + 0x1c]
cmp edi, esi
jne 0x10046f00
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
mov ecx, 0x100896f0
test ebp, ebp
je 0x10047139
test eax, eax
je 0x10047139
cmp dword [esp + 0x20], 0
je 0x10047139
cmp dword [esp + 0x18], 0
je 0x10047140
test ebx, ebx
je 0x10047139
mov ecx, dword [esp + 0x10]
push str.All_available_TLS_1.3_ciphers_were_disabled.
push ecx
call fcn.1001cb80
mov eax, 0x3b
jmp 0x10047480
mov edx, dword [esp + 0x10]
push str.Cipher_name_too_long__not_checked.
push edx
call fcn.1001cb80
mov eax, 0x3b
jmp 0x10047480
mov eax, dword [esp + 0x10]
push str.Passed_in_an_unknown_TLS_1.3_cipher.
push eax
call fcn.1001cb80
mov eax, 0x3b
jmp 0x10047480
cmp dword [esp + 0x18], 0
jne 0x10047148
test ebx, ebx
je 0x100471c8
mov edi, 8
mov edx, 0x20
lea esi, [esp + 0x3c]
mov word [esp + 0xd0], di
mov word [esp + 0xd2], di
mov edi, dword [esp + 0x18]
mov word [esp + 0x3c], dx
mov word [esp + 0x3e], dx
mov dword [esp + 0xdc], esi
mov edx, 2
mov esi, 1
mov dword [esp + 0x40], str.ChainingModeCCM
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd8], esi
mov dword [esp + 0xd4], ecx
cmp edi, ebx
je 0x100471c4
test edi, edi
je 0x100471b9
mov dword [esp + 0xe0], 0x80
mov edi, esi
jmp 0x100471d4
mov dword [esp + 0xe4], 0x40
mov edi, esi
jmp 0x100471d4
mov edi, dword [esp + 0x2c]
mov edx, 2
lea esi, [edx - 1]
test ebp, ebp
jne 0x100471e0
test eax, eax
je 0x10047275
mov ebx, 0x20
cmp ebp, eax
mov word [esp + 0x44], bx
mov word [esp + 0x46], bx
mov dword [esp + 0x48], str.ChainingModeGCM
lea eax, [edi*8]
je 0x10047238
sub eax, edi
add eax, eax
add eax, eax
mov ecx, 4
mov word [esp + eax + 0xd0], cx
mov word [esp + eax + 0xd2], cx
mov dword [esp + eax + 0xcc], 3
mov ecx, str.SHA384
test ebp, ebp
jne 0x1004725a
mov ecx, str.SHA256
jmp 0x1004725a
sub eax, edi
add eax, eax
add eax, eax
mov ebx, 8
mov dword [esp + eax + 0xcc], edx
mov word [esp + eax + 0xd0], bx
mov word [esp + eax + 0xd2], bx
mov dword [esp + eax + 0xd4], ecx
lea ecx, [esp + 0x44]
mov dword [esp + eax + 0xdc], ecx
mov dword [esp + eax + 0xd8], esi
add edi, esi
cmp dword [esp + 0x20], 0
je 0x100472b4
lea eax, [edi*8]
sub eax, edi
add eax, eax
add eax, eax
mov dword [esp + eax + 0xcc], edx
mov edx, 0x24
mov ecx, edx
mov word [esp + eax + 0xd0], dx
mov word [esp + eax + 0xd2], cx
mov dword [esp + eax + 0xd4], str.CHACHA20_POLY1305
add edi, esi
xor ebx, ebx
jmp 0x100472ba
mov edi, eax
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0xb4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x28]
or eax, 0x400000
lea edx, [esp + 0xcc]
not ecx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc0], edi
mov dword [esp + 0x80], esi
mov dword [esp + 0x5c], 5
mov dword [esp + 0x7c], eax
mov dword [esp + 0xbc], ecx
cmp dword [esp + 0x24], ebx
je 0x10047318
lea edx, [esp + 0x24]
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], edx
mov edi, dword [esp + 0x30]
mov eax, dword [edi]
lea ecx, [eax + 8]
push ecx
push eax
mov eax, dword [0x100c0b08]
mov ecx, dword [eax + 0xc]
push 0
push 0
lea edx, [esp + 0x6c]
push edx
push 0
push 2
push str.Microsoft_Unified_Security_Protocol_Provider
push 0
call ecx
jmp 0x100473fc
mov esi, dword [ebp + 0x10]
push 0x34
lea edx, [esp + 0x64]
push 0
push edx
call sub.MSVCR100.dll_memset
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
add esp, 0xc
mov dword [esp + 0x5c], 4
mov dword [esp + 0x8c], eax
mov dword [esp + 0x7c], ecx
test esi, esi
je 0x100473ac
lea edx, [esp + 0xcc]
push edx
lea eax, [esp + 0x60]
push eax
mov eax, esi
call fcn.100464e0
mov esi, eax
add esp, 8
test esi, esi
je 0x100473b8
mov ecx, dword [esp + 0x10]
push str.Unable_to_set_ciphers_to_from_connection_ssl_config
push ecx
call fcn.1001cb80
mov eax, esi
jmp 0x10047480
or eax, 0x400000
mov dword [esp + 0x8c], eax
cmp dword [esp + 0x24], 0
je 0x100473cf
lea edx, [esp + 0x24]
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
lea ecx, [eax + 8]
push ecx
push eax
mov eax, dword [0x100c0b08]
mov ecx, dword [eax + 0xc]
push 0
push 0
lea edx, [esp + 0x6c]
push edx
push 0
push 2
push str.Microsoft_Unified_Security_Protocol_Provider
push 0
call ecx
mov edi, dword [esp + 0x30]
mov esi, eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x1004740d
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
test esi, esi
je 0x1004745a
push 0x100
lea edx, [esp + 0xd0]
push edx
push esi
call fcn.1000ee10
push eax
mov eax, dword [esp + 0x20]
push str.schannel:_AcquireCredentialsHandle_failed:__s
push eax
call fcn.1001cb80
mov ecx, dword [edi]
push ecx
call dword [0x100a3004]
xor eax, eax
add esp, 0x1c
cmp esi, 0x80090300
setne al
mov dword [edi], 0
lea eax, [eax*8 + 0x1b]
jmp 0x10047483
xor eax, eax
jmp 0x10047483
push str.SSL_versions_not_supported
push edi
call fcn.1001cb80
mov eax, 4
jmp 0x10047480
push str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
push edi
call fcn.1001cb80
mov eax, 0x23
add esp, 8
mov ecx, dword [esp + 0x1cc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1005cc54
add esp, 0x1c0
ret