Function at 0x470e82
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1f0
mov edi, dword [ebp + 0xc]
mov eax, dword [0x7024bc]
xor eax, ebp
mov dword [esp + 0x1e8], eax
mov ebx, edx
shl ebx, 4
cmp dword [ecx + ebx + 0x1f0], 2
jne 0x470ebb
mov byte [edi], 1
xor ecx, ecx
jmp 0x4726b4
mov esi, ecx
mov eax, edx
mov ecx, dword [ecx]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
mov eax, dword [esi + edx*4 + 0x1a8]
mov dword [esp + 0x34], eax
lea eax, [esi + ebx]
add eax, 0x1f4
mov dword [esp + 0x24], eax
cmp dword [eax], 0
mov dword [esp + 0x10], esi
je 0x4717b4
lea eax, [esi + ebx]
add eax, 0x1f0
mov dword [esp + 0x14], eax
lea eax, [esi + 0xe4]
mov dword [esp + 0x18], eax
lea eax, [esi + 0xa0]
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx]
lea ecx, [eax - 1]
cmp ecx, 3
jae 0x4718be
push 1
push 0
mov esi, dword [esp + 0x38]
push esi
call fcn.0044d164
add esp, 0xc
test edx, edx
js 0x4718fb
mov ecx, dword [ebx]
mov esi, ecx
and esi, 0xfffffffe
cmp esi, 2
jne 0x470f8d
cmp ecx, 3
mov ebx, 0xffffffff
mov esi, ebx
mov edi, dword [esp + 0x34]
cmove esi, edi
cmp ecx, 2
cmove ebx, edi
cmp byte [ebp + 8], 0
mov edi, 0
cmovne eax, edi
cmovne edx, edi
push edx
push eax
push esi
push 0xffffffffffffffff
push ebx
call fcn.00461a8f
add esp, 0x14
test eax, eax
js 0x471911
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x24]
je 0x471933
mov esi, ebx
xor eax, eax
dec eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov dword [esp + 0xc], edx
mov dword [esp + 0xa0], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x90], xmm0
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], eax
movdqa xmmword [esp + 0xc0], xmm0
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
cmp dword [ecx + 0xf0], 2
jne 0x471016
xor eax, eax
cmp dword [ecx + 0x1ac], 0xffffffff
setne al
shl eax, 4
cmp dword [ecx + eax + 0x210], 2
mov eax, dword [esp + 0x18]
jne 0x47101a
mov eax, dword [esp + 0x28]
mov ebx, dword [eax]
mov edi, dword [esi]
push dword [ecx + 0x100]
push ebx
push str.schannel:_SSL_TLS_connection_with__s_port__hu__step_2_3__n
push dword [esp + 0x18]
call fcn.0046235f
add esp, 0x10
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
mov ecx, 0x23
cmp dword [eax], 0
je 0x47143d
cmp dword [eax + 4], 0
je 0x47143d
cmp dword [eax + 0x30], 0
jne 0x47108e
mov dword [eax + 0x28], 0
mov eax, dword [esi + 8]
mov dword [eax + 0x20], 0x1000
mov eax, dword [esi + 8]
push dword [eax + 0x20]
call dword [0x700018]
add esp, 4
mov ecx, dword [esi + 8]
mov dword [ecx + 0x30], eax
mov eax, dword [esi + 8]
cmp dword [eax + 0x30], 0
je 0x471427
mov ecx, dword [eax + 0x2c]
test ecx, ecx
jne 0x4710d0
mov byte [eax + 0x34], 0
mov eax, dword [esi + 8]
mov dword [eax + 0x24], 0
mov eax, dword [esi + 8]
mov dword [eax + 0x1c], 0x1000
mov eax, dword [esi + 8]
push dword [eax + 0x1c]
call dword [0x700018]
add esp, 4
mov ecx, dword [esi + 8]
mov dword [ecx + 0x2c], eax
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x471427
mov dword [esp + 0x1c], ebx
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x24]
sub edx, ebx
cmp edx, 0x3ff
mov esi, dword [esp + 0x10]
ja 0x471111
add ebx, 0x400
push ebx
push ecx
call dword [0x700020]
add esp, 8
test eax, eax
je 0x471480
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 8]
mov dword [ecx + 0x2c], eax
mov eax, dword [edx + 8]
mov dword [eax + 0x1c], ebx
cmp edi, 3
mov ebx, dword [esp + 0x24]
je 0x4711ac
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x24]
sub ecx, edx
add edx, dword [eax + 0x2c]
lea eax, [esp + 0x48]
push eax
push ecx
push edx
mov eax, dword [esp + 0x38]
push dword [esi + eax*4 + 0x1a8]
call fcn.00462a72
add esp, 0x10
cmp eax, 0x51
jne 0x471175
cmp dword [ebx], 3
mov edi, dword [ebp + 0xc]
je 0x47115d
mov dword [ebx], 2
push str.schannel:_failed_to_receive_handshake__need_more_data_n
push dword [esp + 0x10]
call fcn.0046235f
add esp, 8
xor ecx, ecx
jmp 0x471444
test eax, eax
jne 0x47149b
mov eax, dword [esp + 0x48]
test eax, eax
je 0x47149b
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 8]
add dword [ecx + 0x24], eax
mov ecx, dword [edx + 8]
mov byte [ecx + 0x34], 0
push eax
push str.schannel:_encrypted_data_got__zd_n
push dword [esp + 0x14]
call fcn.0046235f
add esp, 0xc
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
push dword [eax + 0x1c]
push dword [eax + 0x24]
push str.schannel:_encrypted_data_buffer:_offset__zu_length__zu_n
push dword [esp + 0x18]
call fcn.0046235f
add esp, 0x10
mov eax, dword [esi + 8]
push dword [eax + 0x24]
call fcn.00474da0
add esp, 4
mov edi, eax
mov eax, dword [esi + 8]
push dword [eax + 0x24]
call dword [0x700018]
add esp, 4
mov dword [esp + 0xc0], edi
mov edi, 2
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], eax
xor edx, edx
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], edx
mov dword [esp + 0x64], edx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], edi
movdqa xmm0, xmmword [0x677e70]
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0x11
lea ecx, [esp + 0x94]
pxor xmm0, xmm0
movdqu xmmword [ecx], xmm0
mov dword [esp + 0x70], edx
lea ecx, [esp + 0x80]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], 3
test eax, eax
je 0x471427
mov ecx, dword [esi + 8]
push dword [ecx + 0x24]
push dword [ecx + 0x2c]
push eax
call fcn.006452d0
add esp, 0xc
push dword [esp + 0x1c]
call fcn.00450b28
add esp, 4
test eax, eax
je 0x471438
mov ebx, eax
mov eax, dword [0x703648]
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 4]
lea edi, [edx + 8]
lea esi, [ecx + 0x3c]
push edi
push esi
lea esi, [esp + 0x78]
push esi
xor esi, esi
push esi
push esi
lea edi, [esp + 0x78]
push edi
push esi
push esi
push dword [ecx + 0x38]
push ebx
push edx
push dword [ecx]
call dword [eax + 0x18]
mov edi, eax
push ebx
call dword [0x70001c]
add esp, 4
push dword [esp + 0xc8]
call dword [0x70001c]
add esp, 4
mov dword [esp + 0xc8], esi
cmp edi, 0x90320
je 0x471555
cmp edi, 0x80090318
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
je 0x47158b
cmp edi, 0x90312
je 0x47131f
test edi, edi
jne 0x47152c
xor ebx, ebx
cmp dword [esp + ebx + 0x84], 2
jne 0x47138a
mov eax, dword [esp + ebx + 0x80]
test eax, eax
je 0x47138a
push eax
push str.schannel:_sending_next_handshake_data:_sending__lu_bytes..._n
push dword [esp + 0x14]
call fcn.0046235f
add esp, 0xc
lea eax, [esp + 0x38]
push eax
push dword [esp + ebx + 0x84]
push dword [esp + ebx + 0x90]
mov eax, dword [esp + 0x38]
push dword [esi + eax*4 + 0x1a8]
push esi
call fcn.00462794
add esp, 0x14
mov ecx, dword [esp + ebx + 0x80]
mov edx, dword [esp + 0x38]
test eax, eax
jne 0x47146b
cmp ecx, edx
jne 0x47146b
mov eax, dword [esp + ebx + 0x88]
test eax, eax
je 0x47139f
mov ecx, dword [0x703648]
push eax
call dword [ecx + 0x40]
add ebx, 0xc
cmp ebx, 0x24
jne 0x471321
cmp dword [esp + 0xd0], 5
mov ebx, dword [esp + 0x24]
jne 0x4714b6
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x4714b6
push eax
push str.schannel:_encrypted_data_length:__lu_n
push dword [esp + 0x14]
call fcn.0046235f
add esp, 0xc
mov esi, dword [esp + 0x14]
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x24]
mov ecx, dword [esp + 0xcc]
cmp eax, ecx
jbe 0x4714c4
mov edx, dword [edx + 0x2c]
add eax, edx
sub eax, ecx
push ecx
push eax
push edx
call fcn.00645850
add esp, 0xc
mov eax, dword [esp + 0xcc]
mov ecx, dword [esi + 8]
mov dword [ecx + 0x24], eax
cmp edi, 0x90312
je 0x4711b0
jmp 0x4714d9
push str.schannel:_unable_to_allocate_memory
push dword [esp + 0x10]
call fcn.004624d0
add esp, 8
mov ecx, 0x1b
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
test ecx, ecx
jne 0x4726b4
cmp byte [ebp + 8], 0
mov ebx, dword [esp + 0x24]
je 0x470f11
mov eax, dword [ebx]
dec eax
cmp eax, 3
jae 0x470f11
jmp 0x470eb4
push ecx
push edx
push str.schannel:_failed_to_send_next_handshake_data:_sent__zd_of__lu_bytes
push dword [esp + 0x18]
call fcn.004624d0
add esp, 0x10
jmp 0x4714ac
push str.schannel:_unable_to_re_allocate_memory
push dword [esp + 0x10]
call fcn.004624d0
add esp, 8
mov ecx, 0x1b
mov edi, dword [ebp + 0xc]
jmp 0x471444
push str.schannel:_failed_to_receive_handshake__SSL_TLS_connection_failed
push dword [esp + 0x10]
call fcn.004624d0
add esp, 8
mov edi, dword [ebp + 0xc]
mov ecx, 0x23
jmp 0x471444
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
mov dword [eax + 0x24], 0
cmp edi, 0x90312
jne 0x4714d9
mov dword [ebx], 2
xor ecx, ecx
jmp 0x47143d
test edi, edi
jne 0x4714f4
mov dword [ebx], 4
push str.schannel:_SSL_TLS_handshake_complete_n
push dword [esp + 0x10]
call fcn.0046235f
add esp, 8
mov esi, dword [esp + 0x10]
cmp dword [esi + 0xf0], 2
jne 0x47151e
xor eax, eax
cmp dword [esi + 0x1ac], 0xffffffff
setne al
shl eax, 4
cmp dword [esi + eax + 0x210], 2
jne 0x4715de
mov eax, dword [esp + 0xc]
add eax, 0x5a8
jmp 0x4715e7
push edi
push esi
call fcn.00467dde
add esp, 8
cmp edi, 0x80090322
jne 0x4715b4
push eax
push str.schannel:_SNI_or_certificate_check_failed:__s
push dword [esp + 0x14]
call fcn.004624d0
add esp, 0xc
jmp 0x4714ac
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x38]
test cl, cl
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
js 0x47171e
or ecx, 0x80
mov dword [eax + 0x38], ecx
mov dword [edx], 3
push str.schannel:_a_client_certificate_has_been_requested_n
jmp 0x471162
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
mov byte [eax + 0x34], 1
mov dword [ecx], 2
push str.schannel:_received_incomplete_message__need_more_data_n
push dword [esp + 0x10]
call fcn.0046235f
add esp, 8
xor ecx, ecx
jmp 0x471496
push eax
push str.schannel:_next_InitializeSecurityContext_failed:__s
push dword [esp + 0x14]
call fcn.004624d0
add esp, 0xc
cmp edi, 0x80090325
mov ecx, 0x23
mov eax, 0x3c
cmove ecx, eax
jmp 0x471496
mov eax, dword [esp + 0xc]
add eax, 0x5ac
mov edi, dword [ebp + 0xc]
mov ebx, dword [eax]
test ebx, ebx
je 0x4716ea
mov eax, dword [esi]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x54], 0
push 0xf0
push 0xff
lea eax, [esp + 0xe8]
push eax
call fcn.00645dd0
add esp, 0xc
mov eax, dword [0x703648]
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 8]
lea edx, [esp + 0x54]
push edx
push 0x53
push dword [ecx + 4]
call dword [eax + 0x2c]
test eax, eax
jne 0x471690
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x471690
test byte [ecx], 1
je 0x4716ac
mov edi, dword [ecx + 8]
test edi, edi
je 0x471743
mov esi, dword [ecx + 4]
push 0xf0
push 0
lea eax, [esp + 0xe8]
push eax
call fcn.00645dd0
add esp, 0xc
add edi, esi
push edi
push esi
lea eax, [esp + 0xe8]
push eax
call fcn.0047575e
add esp, 0xc
test eax, eax
je 0x47174b
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
jmp 0x4716ac
push eax
push esi
call fcn.00467dde
add esp, 8
push eax
push str.schannel:_Failed_to_read_remote_certificate_context:__s
push dword [esp + 0x24]
call fcn.004624d0
add esp, 0xc
mov ecx, 0x5a
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4716c8
push eax
mov ebx, edi
mov edi, ecx
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
mov ecx, edi
mov edi, ebx
test ecx, ecx
je 0x4716ea
push str.SSL:_public_key_does_not_match_pinned_public_key_
push dword [esp + 0x10]
mov ebx, edi
mov edi, ecx
call fcn.004624d0
mov ecx, edi
mov edi, ebx
add esp, 8
jmp 0x471444
xor ecx, ecx
cmp byte [esi + 0x238], 0
je 0x471444
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
cmp byte [eax + 0x47], 0
je 0x471444
push dword [esp + 0x2c]
push esi
call fcn.00473200
add esp, 8
mov ecx, eax
jmp 0x471444
push 0x90320
push esi
call fcn.00467dde
add esp, 8
push eax
push str.schannel:_next_InitializeSecurityContext_failed:__s
push dword [esp + 0x14]
call fcn.004624d0
add esp, 0xc
jmp 0x4714af
mov edi, dword [ebp + 0xc]
jmp 0x4716ac
mov eax, dword [esp + 0x170]
test eax, eax
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
je 0x471797
mov ecx, dword [esp + 0x178]
sub ecx, eax
jbe 0x471797
push ecx
push eax
push ebx
mov ebx, dword [esp + 0x28]
push ebx
call fcn.0047479e
add esp, 0x10
test eax, eax
je 0x4717ad
push str.SSL:_public_key_does_not_match_pinned_public_key_
push ebx
mov ebx, edi
mov edi, eax
call fcn.004624d0
mov ecx, edi
mov edi, ebx
add esp, 8
jmp 0x4716b1
push str.SSL:_failed_retrieving_public_key_from_server_certificate
push dword [esp + 0x20]
call fcn.004624d0
add esp, 8
jmp 0x4716ac
xor ecx, ecx
jmp 0x4716b1
push 1
push 0
mov edi, dword [esp + 0x38]
push edi
call fcn.0044d164
add esp, 0xc
test edx, edx
js 0x471906
xor ecx, ecx
dec ecx
mov dword [esp + 0x60], ecx
mov eax, dword [esi]
mov dword [esp + 0xc], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
movdqa xmmword [esp + 0x130], xmm0
movdqa xmmword [esp + 0x120], xmm0
movdqa xmmword [esp + 0x110], xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb0], ecx
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x90], xmm0
movdqa xmmword [esp + 0x80], xmm0
xor eax, eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
cmp dword [esi + 0xf0], 2
jne 0x4718b3
xor eax, eax
cmp dword [esi + 0x1ac], 0xffffffff
setne al
shl eax, 4
cmp dword [esi + eax + 0x210], 2
jne 0x471945
lea eax, [esi + 0xa0]
jmp 0x47194b
cmp eax, 4
je 0x4719bb
cmp eax, 5
jne 0x471a89
mov eax, dword [esp + 0x14]
mov dword [eax], 2
mov eax, dword [esp + 0x2c]
mov dword [esi + eax*4 + 0x1bc], 0x4726f0
mov dword [esi + eax*4 + 0x1c4], 0x472e70
mov al, 1
jmp 0x471a8b
push str.SSL_TLS_connection_timeout
push esi
jmp 0x471eb1
push str.SSL_TLS_connection_timeout
push edi
jmp 0x471eb1
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.select_poll_on_SSL_TLS_socket__errno:__d
push dword [esp + 0x38]
call fcn.004624d0
add esp, 0xc
mov ecx, 0x23
jmp 0x4726b4
cmp byte [ebp + 8], 0
je 0x471ea8
mov byte [eax], 0
jmp 0x470eb4
lea eax, [esi + 0xe4]
mov edi, dword [eax]
push dword [esi + 0x100]
push edi
push str.schannel:_SSL_TLS_connection_with__s_port__hu__step_1_3__n
push dword [esp + 0x18]
call fcn.0046235f
movdqa xmm0, xmmword [0x684280]
movdqu xmmword [esp], xmm0
call fcn.004683f4
add esp, 0x10
test al, al
je 0x47198c
push str.schannel:_WinSSL_version_is_old_and_may_not_be_able_to_connect_to_some_servers_due_to_lack_of_SNI__algorithms__etc._n
push dword [esp + 0x10]
call fcn.0046235f
add esp, 8
cmp byte [esi + 0x298], 0
je 0x4719b4
push 0x684502
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.wine_get_version
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x471a98
xor eax, eax
jmp 0x471ab0
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x80], 0
cmp dword [eax + 0xf0], 2
jne 0x4719f0
xor eax, eax
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x1ac], 0xffffffff
setne al
shl eax, 4
cmp dword [ecx + eax + 0x210], 2
jne 0x4719f8
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov edi, dword [eax]
push 0x108
push 0xff
lea eax, [esp + 0xe8]
push eax
call fcn.00645dd0
add esp, 0xc
mov eax, dword [esp + 0x10]
push dword [eax + 0x100]
push edi
push str.schannel:_SSL_TLS_connection_with__s_port__hu__step_3_3__n
push esi
call fcn.0046235f
add esp, 0x10
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
mov dword [esp + 0xc], 0x23
cmp dword [ecx], 0
je 0x471fa2
mov eax, dword [ecx + 0x3c]
cmp eax, dword [ecx + 0x38]
jne 0x471f29
cmp byte [ecx + 0x46], 0
mov edi, dword [ebp + 0xc]
je 0x4722d6
mov eax, dword [0x703648]
lea edx, [esp + 0xe0]
push edx
push 0x23
push dword [ecx + 4]
call dword [eax + 0x2c]
test eax, eax
je 0x472261
push str.schannel:_failed_to_retrieve_ALPN_result
jmp 0x471f99
xor eax, eax
mov byte [edi], al
mov dword [ebx], 0
jmp 0x470eb4
sub esp, 0x10
movdqa xmm0, xmmword [0x684290]
movdqu xmmword [esp], xmm0
call fcn.004683f4
add esp, 0x10
mov ecx, dword [esi + ebx + 0x1f8]
mov byte [ecx + 0x46], al
cmp dword [esi + 0xf0], 2
jne 0x471adc
xor eax, eax
cmp dword [esi + 0x1ac], 0xffffffff
setne al
shl eax, 4
cmp dword [esi + eax + 0x210], 2
jne 0x471b1e
cmp dword [esi + 0x240], 0
je 0x471b27
sub esp, 0x10
movdqa xmm0, xmmword [0x6842a0]
movdqu xmmword [esp], xmm0
call fcn.004683f4
mov dl, 1
add esp, 0x10
test al, al
jne 0x471b29
push str.schannel:_this_version_of_Windows_is_too_old_to_support_certificate_verification_via_CA_bundle_file.
push dword [esp + 0x10]
call fcn.004624d0
add esp, 8
mov ecx, 0x4d
jmp 0x4726a9
cmp dword [esi + 0x264], 0
jne 0x471ae5
xor edx, edx
lea ecx, [esi + ebx]
add ecx, 0x1f8
mov eax, dword [ecx]
mov byte [eax + 0x47], dl
mov dword [esp + 0x14], ecx
mov eax, dword [ecx]
mov dword [eax], 0
cmp dword [esi + 0xf0], 2
mov dword [esp + 0x28], edi
jne 0x471b69
xor eax, eax
cmp dword [esi + 0x1ac], 0xffffffff
setne al
shl eax, 4
cmp dword [esi + eax + 0x210], 2
jne 0x471b78
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x417], 0
jne 0x471b85
jmp 0x471bef
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x46b], 0
je 0x471bef
push esi
call fcn.00473fd9
add esp, 4
lea eax, [esp + 0x44]
push dword [esp + 0x2c]
push 0
push eax
push esi
call fcn.0047401d
add esp, 0x10
test al, al
jne 0x471be6
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x14]
mov ecx, dword [edi]
mov dword [ecx], eax
push str.schannel:_re_using_existing_credential_handle_n
push dword [esp + 0x10]
call fcn.0046235f
add esp, 8
mov eax, dword [edi]
mov eax, dword [eax]
inc dword [eax + 0x10]
mov eax, dword [edi]
mov edi, dword [esp + 0x28]
mov eax, dword [eax]
push dword [eax + 0x10]
push str.schannel:_incremented_credential_handle_refcount___d_n
push dword [esp + 0x14]
call fcn.0046235f
add esp, 0xc
push esi
call fcn.00473ffc
add esp, 4
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp dword [eax], 0
je 0x471c90
lea eax, [esp + 0x40]
push eax
push edi
push 2
call fcn.00459aa0
add esp, 0xc
test eax, eax
je 0x471c23
push str.schannel:_using_IP_address__SNI_is_not_supported_by_OS._n
push dword [esp + 0x10]
call fcn.0046235f
add esp, 8
mov edi, dword [esp + 0x14]
mov eax, dword [edi]
cmp byte [eax + 0x46], 0
je 0x471d0c
lea esi, [esp + 0xe0]
mov dword [esi + 4], 2
mov byte [esi + 0xa], 8
mov dword [esi + 0xf], 0x312e312f
mov dword [esi + 0xb], 0x70747468
push str.http_1.1
push str.schannel:_ALPN__offering__s_n
push dword [esp + 0x14]
call fcn.0046235f
add esp, 0xc
push 9
call fcn.00474d7c
add esp, 4
mov word [esi + 8], ax
movzx eax, ax
add eax, 6
mov dword [esi], eax
mov eax, dword [edi]
mov ecx, 0x12
mov edx, 0x13
jmp 0x471d12
pxor xmm0, xmm0
movdqu xmmword [esp + 0xa4], xmm0
movdqu xmmword [esp + 0x94], xmm0
movdqu xmmword [esp + 0x84], xmm0
mov dword [esp + 0xb4], 0
mov dword [esp + 0x80], 4
cmp byte [esi + 0x238], 0
je 0x471ec3
cmp byte [eax + 0x47], 0
mov ecx, 0x20
mov eax, 8
cmove eax, ecx
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0x431], 0
je 0x471fab
or eax, 0x1800
mov dword [esp + 0xb0], eax
jmp 0x471ece
xor edx, edx
xor ecx, ecx
xor esi, esi
lea edi, [esp + 0x54]
mov dword [edi], edx
mov dword [edi + 4], ecx
mov dword [edi + 8], esi
xor esi, esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], edi
lea ecx, [esp + 0x70]
mov dword [ecx], esi
mov dword [ecx + 4], esi
mov dword [ecx + 8], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x6c], ecx
xor ecx, ecx
inc ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x68], ecx
mov dword [eax + 0x38], 0x811c
push 0x10
push ecx
call dword [0x700028]
add esp, 8
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov dword [ecx + 4], eax
mov eax, dword [edx]
cmp dword [eax + 4], esi
je 0x471e8d
push dword [esp + 0x28]
call fcn.00450b28
add esp, 4
test eax, eax
je 0x471e9e
mov edi, eax
mov eax, dword [0x703648]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
xor esi, esi
cmp byte [ecx + 0x46], 0
lea eax, [esp + 0x48]
cmove eax, esi
lea esi, [edx + 8]
mov dword [esp + 0x1c], esi
lea esi, [ecx + 0x3c]
mov dword [esp + 0x18], esi
lea esi, [esp + 0x64]
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push esi
push edx
xor edx, edx
push edx
push eax
push edx
push edx
xor eax, eax
push dword [ecx + 0x38]
push edi
push eax
push dword [ecx]
mov eax, dword [esp + 0x58]
call dword [eax + 0x18]
mov esi, eax
push edi
call dword [0x70001c]
add esp, 4
cmp esi, 0x90312
jne 0x471ed8
push dword [esp + 0x70]
push str.schannel:_sending_initial_handshake_data:_sending__lu_bytes..._n
push dword [esp + 0x14]
call fcn.0046235f
add esp, 0xc
lea esi, [esp + 0x60]
push esi
push dword [esp + 0x74]
push dword [esp + 0x80]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
push dword [eax + ecx*4 + 0x1a8]
push eax
call fcn.00462794
add esp, 0x14
mov edi, eax
mov eax, dword [0x703648]
push dword [esp + 0x78]
call dword [eax + 0x40]
mov eax, dword [esp + 0x70]
mov ecx, dword [esi]
test edi, edi
jne 0x47204d
cmp eax, ecx
jne 0x47204d
push eax
push str.schannel:_sent_initial_handshake_data:_sent__zd_bytes_n
push dword [esp + 0x14]
call fcn.0046235f
add esp, 0xc
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
mov dword [eax + 0x40], 0
mov eax, dword [edx]
xor ecx, ecx
mov byte [eax + 0x44], cl
mov eax, dword [edx]
mov byte [eax + 0x45], cl
mov eax, dword [edx]
mov byte [eax + 0x34], cl
mov eax, dword [esp + 0x24]
mov dword [eax], 1
jmp 0x472248
push str.schannel:_unable_to_allocate_memory
push dword [esp + 0x10]
call fcn.004624d0
add esp, 8
mov ecx, 0x1b
jmp 0x472248
push str.SSL_TLS_connection_timeout
push dword [esp + 0x34]
call fcn.004624d0
add esp, 8
mov ecx, 0x1c
jmp 0x4726b4
mov dword [esp + 0xb0], 0x1808
mov eax, str.schannel:_disabled_server_certificate_revocation_checks_n
jmp 0x471fbc
push esi
mov edi, esi
mov esi, dword [esp + 0x14]
push esi
call fcn.00467dde
add esp, 8
cmp edi, 0x80090322
mov ecx, str.schannel:_SNI_or_certificate_check_failed:__s
mov edx, str.schannel:_initial_InitializeSecurityContext_failed:__s
cmove edx, ecx
push eax
push edx
push dword [esp + 0x14]
call fcn.004624d0
add esp, 0xc
mov edi, dword [esp + 0x14]
mov eax, dword [edi]
push dword [eax + 4]
call dword [0x70001c]
add esp, 4
mov eax, dword [edi]
mov dword [eax + 4], 0
jmp 0x472678
test al, 8
mov edi, dword [esp + 0x14]
jne 0x471f45
push str.schannel:_failed_to_setup_sequence_detection
push esi
call fcn.004624d0
add esp, 8
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x3c]
test al, 4
jne 0x471f5d
push str.schannel:_failed_to_setup_replay_detection
push esi
call fcn.004624d0
add esp, 8
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x3c]
test al, 0x10
jne 0x471f75
push str.schannel:_failed_to_setup_confidentiality
push esi
call fcn.004624d0
add esp, 8
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x3c]
bt eax, 8
jb 0x471f8f
push str.schannel:_failed_to_setup_memory_allocation
push esi
call fcn.004624d0
add esp, 8
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x3c]
test ax, ax
js 0x471fa2
push str.schannel:_failed_to_setup_stream_orientation
push esi
call fcn.004624d0
add esp, 8
mov ecx, dword [esp + 0xc]
jmp 0x4726b4
or eax, 0x200
mov dword [esp + 0xb0], eax
mov eax, str.schannel:_checking_server_certificate_revocation_n
push eax
push dword [esp + 0x10]
call fcn.0046235f
add esp, 8
cmp byte [esi + 0x239], 0
jne 0x471feb
or byte [esp + 0xb0], 4
push str.schannel:_verifyhost_setting_prevents_Schannel_from_comparing_the_supplied_target_name_with_the_subject_names_in_server_certificates._n
push dword [esp + 0x10]
call fcn.0046235f
add esp, 8
mov ecx, dword [esi + 0x230]
cmp ecx, 7
ja case.default.0x471ff6
jmp dword [ecx*4 + 0x6854d4]
mov edx, dword [esi]
cmp dword [esi + 0xf0], 2
mov dword [esp + 0x18], edx
jne 0x472035
xor eax, eax
cmp dword [esi + 0x1ac], 0xffffffff
setne al
shl eax, 4
cmp dword [esi + eax + 0x210], 2
mov eax, 0x230
mov ecx, 0x254
cmove ecx, eax
mov ecx, dword [esi + ecx]
jne 0x472095
lea edx, [esi + 0x234]
jmp 0x47209b
mov dword [esp + 0xa0], 0xa80
jmp 0x4720ed
push eax
push ecx
push str.schannel:_failed_to_send_initial_handshake_data:_sent__zd_of__lu_bytes
push dword [esp + 0x18]
call fcn.004624d0
add esp, 0x10
jmp 0x472243
push str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
push dword [esp + 0x10]
call fcn.004624d0
add esp, 8
jmp 0x472678
mov dword [esp + 0xa0], 8
jmp 0x4720ed
mov dword [esp + 0xa0], 0x20
jmp 0x4720ed
lea edx, [esi + 0x258]
mov edx, dword [edx]
cmp edx, 0x10000
je 0x4720b0
test edx, edx
jne 0x4720b5
mov edx, ecx
shl edx, 0x10
jmp 0x4720b5
mov edx, 0x60000
sar edx, 0x10
cmp ecx, edx
jg 0x4720ed
inc edx
lea eax, [ecx - 4]
cmp eax, 3
ja case.default.0x4720ca
mov esi, 0x80
jmp dword [eax*4 + 0x6854f4]
mov esi, 0x200
jmp case.0x4720ca.4
mov esi, 0x800
or dword [esp + 0xa0], esi
mov esi, dword [esp + 0x10]
inc ecx
cmp edx, ecx
jne 0x4720bd
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x44c]
test eax, eax
je 0x4725b6
xor ecx, ecx
dec ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xd0], ecx
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0xc0], xmm0
push eax
call fcn.00450b28
add esp, 4
test eax, eax
je 0x4726a4
push 0x5c
mov dword [esp + 0x1c], eax
push eax
call fcn.00646403
add esp, 8
test eax, eax
je 0x47266b
mov dword [esp + 0x1c], eax
mov edi, eax
mov eax, dword [esp + 0x18]
sub edi, eax
sar edi, 1
push edi
push str.CurrentUser
push eax
call fcn.0065f0f2
add esp, 0xc
test eax, eax
je 0x472254
push edi
push str.LocalMachine
push dword [esp + 0x20]
call fcn.0065f0f2
add esp, 0xc
test eax, eax
je 0x4722bb
push edi
push str.CurrentService
push dword [esp + 0x20]
call fcn.0065f0f2
add esp, 0xc
test eax, eax
je 0x472455
push edi
push str.Services
push dword [esp + 0x20]
call fcn.0065f0f2
add esp, 0xc
test eax, eax
je 0x47245f
push edi
push str.Users
push dword [esp + 0x20]
call fcn.0065f0f2
add esp, 0xc
test eax, eax
je 0x4724a7
push edi
push str.CurrentUserGroupPolicy
push dword [esp + 0x20]
call fcn.0065f0f2
add esp, 0xc
test eax, eax
je 0x4724c7
push edi
push str.LocalMachineGroupPolicy
push dword [esp + 0x20]
call fcn.0065f0f2
add esp, 0xc
test eax, eax
je 0x4724d1
push edi
push str.LocalMachineEnterprise
push dword [esp + 0x20]
call fcn.0065f0f2
add esp, 0xc
test eax, eax
mov edi, dword [esp + 0x1c]
jne 0x47266b
mov dword [esp + 0x20], 0x90000
jmp 0x4724dd
push str.Schannel:_TLS_1.3_is_not_yet_supported
push dword [esp + 0x1c]
call fcn.004624d0
add esp, 8
mov ecx, 0x23
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
jmp 0x4726ac
mov dword [esp + 0x20], 0x10000
jmp 0x4724d9
cmp dword [esp + 0xe0], 1
jne 0x4722c8
lea edi, [esp + 0xe9]
movzx eax, byte [edi - 1]
push edi
push eax
push str.schannel:_ALPN__server_accepted_to_use__.s_n
push esi
call fcn.0046235f
add esp, 0x10
cmp byte [edi - 1], 8
mov edi, dword [ebp + 0xc]
jne 0x4722d6
mov eax, 0x70747468
xor eax, dword [esp + 0xe9]
mov ecx, 0x312e312f
xor ecx, dword [esp + 0xed]
or ecx, eax
jne 0x4722d6
mov eax, dword [esp + 0x10]
mov dword [eax + 0x5d0], 2
jmp 0x4722d6
mov dword [esp + 0x20], 0x20000
jmp 0x4724d9
push str.ALPN__server_did_not_agree_to_a_protocol_n
push esi
call fcn.0046235f
add esp, 8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xf0], 2
jne 0x472300
xor eax, eax
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x1ac], 0xffffffff
setne al
shl eax, 4
cmp dword [ecx + eax + 0x210], 2
jne 0x47230e
cmp byte [esi + 0x417], 0
jne 0x47231b
jmp 0x4723ee
cmp byte [esi + 0x46b], 0
je 0x4723ee
xor eax, eax
mov dword [esp + 0xc0], eax
mov edi, dword [esp + 0x10]
push edi
call fcn.00473fd9
add esp, 4
mov ebx, dword [esp + 0x2c]
push ebx
xor eax, eax
push eax
lea eax, [esp + 0xc8]
push eax
push edi
call fcn.0047401d
add esp, 0x10
test al, al
jne 0x472386
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 8]
cmp eax, dword [ecx]
je 0x4723db
push str.schannel:_old_credential_handle_is_stale__removing_n
push esi
call fcn.0046235f
add esp, 8
push dword [esp + 0xc0]
mov edi, dword [esp + 0x14]
push edi
call fcn.00474250
add esp, 8
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
push ebx
push 0x18
push dword [eax]
push edi
call fcn.00474289
add esp, 0x10
test eax, eax
je 0x4723c1
mov ebx, eax
push edi
call fcn.00473ffc
add esp, 4
push str.schannel:_failed_to_store_credential_handle
push esi
call fcn.004624d0
add esp, 8
mov dword [esp + 0xc], ebx
jmp 0x471fa2
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
mov eax, dword [eax]
inc dword [eax + 0x10]
push str.schannel:_stored_credential_handle_in_session_cache_n
push esi
call fcn.0046235f
add esp, 8
push dword [esp + 0x10]
call fcn.00473ffc
add esp, 4
mov edi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x24]
cmp byte [esi + 0x448], 0
je 0x4724b8
mov eax, dword [0x703648]
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 8]
lea edx, [esp + 0x80]
push edx
push 0x53
push dword [ecx + 4]
call dword [eax + 0x2c]
test eax, eax
jne 0x47244b
cmp dword [esp + 0x80], 0
je 0x47244b
push 1
push esi
call fcn.00474664
add esp, 8
mov edx, dword [esp + 0x80]
test eax, eax
je 0x472469
mov dword [esp + 0xc], eax
push edx
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
jmp 0x471fa2
push str.schannel:_failed_to_retrieve_remote_cert_context
jmp 0x471f99
mov dword [esp + 0x20], 0x40000
jmp 0x4724d9
mov dword [esp + 0x20], 0x50000
jmp 0x4724d9
test byte [edx], 1
je 0x4724b1
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x4724b1
mov eax, dword [edx + 4]
add ecx, eax
push ecx
push eax
push 0
push dword [esp + 0x1c]
call fcn.004759f6
add esp, 0x10
mov esi, eax
push dword [esp + 0x80]
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
mov dword [esp + 0xc], esi
test esi, esi
jne 0x471fa2
jmp 0x4724b8
mov dword [esp + 0x20], 0x60000
jmp 0x4724d9
push edx
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
mov dword [ebx], 5
mov esi, dword [esp + 0x10]
jmp 0x4718d0
mov dword [esp + 0x20], 0x70000
jmp 0x4724d9
mov dword [esp + 0x20], 0x80000
mov edi, dword [esp + 0x1c]
add edi, 2
push 0x5c
push edi
call fcn.00646403
add esp, 8
test eax, eax
je 0x47266b
mov ecx, eax
mov word [eax], 0
add ecx, 2
mov dword [esp + 0x1c], ecx
push ecx
call fcn.0065e7c2
add esp, 4
cmp eax, 0x28
jne 0x47266b
xor esi, esi
push edi
push dword [esp + 0x24]
push esi
push esi
push 0xa
call dword [sym.imp.CRYPT32.dll_CertOpenStore]
test eax, eax
je 0x4726ce
mov dword [esp + 0x20], eax
lea eax, [esp + 0xc0]
lea edi, [esp + 0x38]
mov dword [edi + 4], eax
mov dword [edi], 0x14
push esi
push esi
push edi
push eax
push 4
push 0x28
push dword [esp + 0x34]
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryW]
test eax, eax
je 0x4726ce
xor eax, eax
push eax
push edi
push 0x10000
push eax
push 0x10001
mov edi, dword [esp + 0x34]
push edi
call dword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov esi, eax
mov dword [esp + 0x7c], eax
push dword [esp + 0x18]
call dword [0x70001c]
add esp, 4
test esi, esi
mov esi, dword [esp + 0x10]
je 0x4725a9
mov dword [esp + 0x84], 1
lea eax, [esp + 0x7c]
mov dword [esp + 0x88], eax
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov edi, dword [esp + 0x28]
push 0x18
push 1
call dword [0x700028]
add esp, 8
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx]
mov eax, dword [eax]
test eax, eax
je 0x47267f
mov dword [eax + 0x10], 1
mov eax, dword [0x703648]
mov ecx, dword [edx]
mov ecx, dword [ecx]
lea edx, [ecx + 8]
xor esi, esi
push edx
push ecx
push esi
push esi
lea ecx, [esp + 0x90]
push ecx
push esi
push 2
push str.Microsoft_Unified_Security_Protocol_Provider
push esi
call dword [eax + 0xc]
mov esi, eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x472615
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
test esi, esi
mov eax, esi
mov esi, dword [esp + 0x10]
je 0x471bfe
push eax
push esi
mov edi, eax
call fcn.00467dde
add esp, 8
cmp edi, 0x80090322
mov ecx, str.schannel:_SNI_or_certificate_check_failed:__s
mov edx, str.schannel:_AcquireCredentialsHandle_failed:__s
cmove edx, ecx
push eax
push edx
push dword [esp + 0x14]
call fcn.004624d0
add esp, 0xc
mov edi, dword [esp + 0x14]
mov eax, dword [edi]
push dword [eax]
call dword [0x70001c]
add esp, 4
mov eax, dword [edi]
mov dword [eax], 0
jmp 0x472678
push dword [esp + 0x18]
call dword [0x70001c]
add esp, 4
mov ecx, 0x23
jmp 0x4726a9
push str.schannel:_unable_to_allocate_memory
push dword [esp + 0x10]
call fcn.004624d0
add esp, 8
mov eax, dword [esp + 0x7c]
mov ecx, 0x1b
test eax, eax
je 0x4726a9
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
mov ecx, 0x1b
mov edi, dword [ebp + 0xc]
test ecx, ecx
je 0x470eed
mov esi, ecx
mov ecx, dword [esp + 0x1e8]
xor ecx, ebp
call fcn.0064180a
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esp + 0x18]
call dword [0x70001c]
add esp, 4
mov ecx, 0x23
mov esi, dword [esp + 0x10]
jmp 0x4726a9