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

Disassembly:
sub esp, 0x1e8
mov eax, dword [0x631c7c]
xor eax, esp
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x1f0]
mov edx, 0x488
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1fc]
mov esi, 0x498
mov dword [esp + 0x44], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], esi
mov ecx, dword [edi + eax*4 + 0x420]
mov ebx, dword [edi]
shl eax, 4
mov dword [esp + 0x58], ecx
add eax, edi
mov ecx, dword [edi + 0x358]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x48], eax
cmp ecx, 2
jne 0x46d700
cmp dword [edi + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + edi], ecx
je 0x46d6d4
mov eax, dword [edi + 0x34c]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x4e0]
jmp 0x46d710
mov ebp, dword [edi + 0x304]
mov dword [esp + 0x38], ebp
cmp ecx, 2
jne 0x46d70a
cmp dword [edi + 0x424], 0xffffffff
mov eax, edx
mov dword [esp + 0x38], ebp
cmovne eax, esi
cmp dword [eax + edi], ecx
je 0x46d70a
mov eax, dword [edi + 0x4e0]
jmp 0x46d710
mov eax, dword [edi + 0x304]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x4ac]
mov dword [esp + 0x34], eax
cmp ecx, 2
jne 0x46d983
cmp dword [edi + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + edi], ecx
je 0x46d771
mov eax, dword [ebx + 0x8f4]
mov ebp, dword [ebx + 0x8b8]
mov ecx, dword [edi + 0x4ec]
mov esi, dword [ebx + 0x8d0]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x4e8]
mov dword [esp + 0x30], eax
mov al, byte [edi + 0x510]
mov byte [esp + 0x13], al
mov eax, dword [ebx + 0x8e0]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ecx
jmp 0x46d9c1
mov ebp, dword [ebx + 0x850]
mov dword [esp + 0x28], ebp
cmp ecx, 2
jne 0x46d98d
cmp dword [edi + 0x424], 0xffffffff
mov eax, edx
mov dword [esp + 0x28], ebp
cmovne eax, esi
cmp dword [eax + edi], ecx
je 0x46d7d2
mov eax, dword [ebx + 0x8f4]
mov ecx, dword [edi + 0x4ec]
mov esi, dword [ebx + 0x8d0]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x4e8]
mov dword [esp + 0x30], eax
mov al, byte [edi + 0x510]
mov byte [esp + 0x13], al
mov eax, dword [ebx + 0x8e0]
mov dword [esp + 0x2c], ecx
jmp 0x46d9c1
mov esi, dword [ebx + 0x868]
cmp ecx, 2
jne 0x46d993
cmp dword [edi + 0x424], 0xffffffff
mov eax, edx
mov edx, 0x498
mov dword [esp + 0x28], ebp
cmovne eax, edx
cmp dword [eax + edi], ecx
je 0x46d82e
mov eax, dword [ebx + 0x8f4]
mov ecx, dword [edi + 0x4ec]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x4e8]
mov dword [esp + 0x30], eax
mov al, byte [edi + 0x510]
mov byte [esp + 0x13], al
mov eax, dword [ebx + 0x8e0]
mov dword [esp + 0x2c], ecx
jmp 0x46d9c1
mov edx, dword [ebx + 0x88c]
mov dword [esp + 0x20], edx
cmp ecx, 2
jne 0x46d99d
cmp dword [edi + 0x424], 0xffffffff
mov eax, 0x488
mov dword [esp + 0x28], ebp
cmovne eax, dword [esp + 0x24]
mov dword [esp + 0x20], edx
cmp dword [eax + edi], ecx
je 0x46d888
mov eax, dword [edi + 0x4e8]
mov ecx, dword [edi + 0x4ec]
mov dword [esp + 0x30], eax
mov al, byte [edi + 0x510]
mov byte [esp + 0x13], al
mov eax, dword [ebx + 0x8e0]
mov dword [esp + 0x2c], ecx
jmp 0x46d9c1
mov eax, dword [edi + 0x4b8]
mov dword [esp + 0x2c], eax
cmp ecx, 2
jne 0x46d9a7
cmp dword [edi + 0x424], 0xffffffff
mov dword [esp + 0x2c], eax
mov eax, 0x488
cmovne eax, dword [esp + 0x24]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], edx
cmp dword [eax + edi], ecx
je 0x46d8dc
mov eax, dword [edi + 0x4e8]
mov dword [esp + 0x30], eax
mov al, byte [edi + 0x510]
mov byte [esp + 0x13], al
mov eax, dword [ebx + 0x8e0]
jmp 0x46d9c1
mov eax, dword [edi + 0x4b4]
mov dword [esp + 0x30], eax
cmp ecx, 2
jne 0x46d9b1
mov eax, dword [esp + 0x2c]
cmp dword [edi + 0x424], 0xffffffff
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x30], eax
mov eax, 0x488
cmovne eax, dword [esp + 0x24]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], edx
cmp dword [eax + edi], ecx
je 0x46d932
mov al, byte [edi + 0x510]
mov byte [esp + 0x13], al
mov eax, dword [ebx + 0x8e0]
jmp 0x46d9c1
mov al, byte [edi + 0x4dc]
mov byte [esp + 0x13], al
cmp ecx, 2
jne 0x46d9bb
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
cmp dword [edi + 0x424], 0xffffffff
mov dword [esp + 0x30], ecx
mov cl, byte [esp + 0x13]
mov dword [esp + 0x2c], eax
mov eax, 0x488
mov byte [esp + 0x13], cl
mov ecx, 0x498
cmovne eax, ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], edx
cmp dword [eax + edi], 2
je 0x46d9bb
mov eax, dword [ebx + 0x8e0]
jmp 0x46d9c1
mov ebp, dword [ebx + 0x850]
mov dword [esp + 0x28], ebp
mov esi, dword [ebx + 0x868]
mov eax, dword [ebx + 0x88c]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x4b8]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x4b4]
mov dword [esp + 0x30], eax
mov al, byte [edi + 0x4dc]
mov byte [esp + 0x13], al
mov eax, dword [ebx + 0x878]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x48]
push ebx
mov byte [esp + 0x40], 0
mov eax, dword [eax + 0x470]
mov dword [esp + 0x1c], eax
call fcn.0046bac0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x46e966
cmp dword [edi + 0x358], 2
jne 0x46da1a
cmp dword [edi + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + edi], 2
je 0x46da1a
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 0x8dc]
jmp 0x46da24
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 0x874]
mov dword [eax], 1
mov eax, dword [esp + 0x34]
cmp eax, 7
ja case.default.0x46da37
jmp dword [eax*4 + 0x46e980]
call fcn.0049d6f0
mov edi, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
test ecx, ecx
je 0x46da58
push ecx
call fcn.00494120
add esp, 4
push edi
call fcn.00494320
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x46dadb
call fcn.004ffb50
mov esi, eax
mov byte [esp + 0x74], 0
push 0x100
lea eax, [esp + 0x78]
push eax
push esi
call fcn.004ff4a0
add esp, 0xc
cmp byte [esp + 0x74], 0
jne 0x46dabb
mov ecx, 0x5b9d84
test esi, esi
mov eax, 0x5b9d74
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.004da230
add esp, 0xc
mov byte [esp + 0x173], 0
lea eax, [esp + 0x74]
push eax
push str.SSL:_couldnt_create_a_context:__s
push dword [esp + 0x1c]
call fcn.004554b0
add esp, 0xc
mov eax, 0x1b
jmp 0x46e966
push 0
push 0x10
push 0x21
push eax
call fcn.00493db0
mov edi, dword [esp + 0x24]
add esp, 0x10
cmp dword [edi + 0x600], 0
je 0x46db2b
cmp byte [edi + 0xb42], 0
je 0x46db2b
mov eax, dword [esp + 0x18]
push 0x46fd90
push dword [eax]
call fcn.00494860
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push edi
push 0
push 0x10
push dword [eax]
call fcn.00493db0
mov edi, dword [esp + 0x2c]
add esp, 0x18
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x358]
cmp ecx, 2
jne 0x46db58
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x24]
cmp dword [eax + edx], ecx
je 0x46db58
mov al, byte [edi + 0x90a]
jmp 0x46db5e
mov al, byte [edi + 0x8a2]
test al, al
mov edi, 0x80024054
mov eax, dword [esp + 0x34]
mov edx, 0x80024854
cmovne edi, edx
jmp dword [eax*4 + 0x46e9a0]
mov eax, dword [esp + 0x18]
push 0
push 2
push 0x7b
push dword [eax]
call fcn.00493db0
mov eax, dword [esp + 0x28]
push 0
push 2
push 0x7c
push dword [eax]
call fcn.00493db0
add esp, 0x20
jmp 0x46dcee
mov eax, dword [esp + 0x18]
or edi, 0x2000000
mov ebx, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
cmp ecx, 2
jne 0x46dc0d
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x46dc0d
mov ecx, dword [ebx + 0x4e0]
jmp 0x46dc13
mov ecx, dword [ebx + 0x4ac]
lea edx, [ecx - 1]
xor eax, eax
cmp edx, 6
ja case.0x46dc1d.2
jmp dword [edx*4 + 0x46e9c0]
mov eax, 0x301
test ecx, ecx
je 0x46dc46
push 0
push eax
push 0x7b
push dword [esp + 0x40]
call fcn.00493db0
add esp, 0x10
test eax, eax
je 0x46e961
cmp dword [ebx + 0x358], 2
jne 0x46dc86
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x46dc86
mov eax, dword [ebx + 0x4e4]
jmp 0x46dc8c
mov eax, 0x302
jmp 0x46dc2d
mov eax, 0x303
jmp 0x46dc2d
mov eax, 0x304
jmp 0x46dc2d
mov eax, dword [ebx + 0x4b0]
cmp eax, 0x50000
jg 0x46dcb5
je 0x46dcae
test eax, eax
je 0x46dcc3
cmp eax, 0x10000
je 0x46dcc3
cmp eax, 0x40000
jne 0x46dcc3
mov eax, 0x301
jmp 0x46dcd3
mov eax, 0x302
jmp 0x46dcd3
cmp eax, 0x60000
je 0x46dcce
cmp eax, 0x70000
je 0x46dcc7
xor eax, eax
jmp 0x46dcd3
mov eax, 0x304
jmp 0x46dcd3
mov eax, 0x303
push 0
push eax
push 0x7c
push dword [esp + 0x40]
call fcn.00493db0
add esp, 0x10
test eax, eax
je 0x46e961
xor ebx, ebx
mov eax, dword [esp + 0x18]
push edi
push dword [eax]
call fcn.004948b0
mov edi, dword [esp + 0x24]
add esp, 8
cmp byte [edi + 0x533], 0
je 0x46dd1e
mov eax, dword [esp + 0x18]
push edi
push 0x46f490
push dword [eax]
call fcn.00494870
add esp, 0xc
cmp byte [edi + 0x534], 0
je 0x46dd70
push str.http_1.1
push str.ALPN__offering__s_n
push dword [esp + 0x1c]
mov byte [esp + 0x180], 8
mov dword [esp + 0x181], 0x70747468
mov dword [esp + 0x185], 0x312e312f
call fcn.00455570
push 9
lea eax, [esp + 0x184]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax]
call fcn.004946c0
add esp, 0x18
test ebp, ebp
jne 0x46dd82
test esi, esi
jne 0x46dd82
cmp dword [esp + 0x20], esi
je 0x46df87
xor ebp, ebp
xor edi, edi
test esi, esi
je 0x46dda9
push dword [esi + 4]
push dword [esi]
call fcn.004f15a0
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x46dda9
mov ebx, 0x1b
mov eax, ebx
jmp 0x46e966
mov esi, dword [esp + 0x1c]
mov edx, dword [esi + 0x358]
cmp edx, 2
jne 0x46dddd
cmp dword [esi + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + esi], edx
je 0x46dddd
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x8fc]
jmp 0x46dde7
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x894]
test eax, eax
je 0x46de8b
cmp edx, 2
jne 0x46de5a
cmp dword [esi + 0x424], 0xffffffff
mov edi, 0x488
mov eax, edi
cmovne eax, dword [esp + 0x24]
cmp dword [eax + esi], edx
je 0x46de1e
mov eax, dword [esp + 0x14]
mov ecx, dword [ecx + 0x8fc]
mov eax, dword [eax + 0x8fc]
jmp 0x46de70
mov ecx, dword [ecx + 0x894]
mov esi, ecx
cmp edx, 2
jne 0x46de62
mov eax, edi
mov edx, 0x498
mov edi, dword [esp + 0x1c]
cmp dword [edi + 0x424], 0xffffffff
cmovne eax, edx
cmp dword [eax + edi], 2
je 0x46de54
mov eax, dword [esp + 0x14]
mov esi, edi
mov eax, dword [eax + 0x8fc]
jmp 0x46de70
mov ecx, esi
mov esi, edi
jmp 0x46de66
mov ecx, dword [ecx + 0x894]
jmp 0x46de66
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x894]
push dword [ecx + 4]
push dword [eax]
call fcn.004f15a0
mov edi, eax
add esp, 8
test edi, edi
jne 0x46de8b
lea ebx, [eax + 0x1b]
jmp 0x46df62
mov edx, dword [esi + 0x358]
cmp edx, 2
jne 0x46def2
cmp dword [esi + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + esi], edx
je 0x46dec1
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x904]
mov esi, dword [eax + 0x900]
jmp 0x46df06
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x89c]
cmp edx, 2
jne 0x46defc
cmp dword [esi + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x24]
cmp dword [eax + esi], edx
je 0x46defc
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x900]
jmp 0x46df06
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x89c]
mov esi, dword [esp + 0x14]
mov esi, dword [esi + 0x898]
cmp edx, 2
mov edx, dword [esp + 0x1c]
jne 0x46df32
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x24]
cmp dword [eax + edx], 2
je 0x46df32
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x8f8]
jmp 0x46df3c
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x890]
push ecx
push esi
push edi
push eax
push dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push ebp
push dword [esp + 0x40]
push dword [eax]
push edx
call fcn.0046bd90
add esp, 0x24
mov ecx, 0x3a
test eax, eax
cmove ebx, ecx
test ebp, ebp
je 0x46df6f
push ebp
call fcn.004f0350
add esp, 4
test edi, edi
je 0x46df7c
push edi
call fcn.004f0350
add esp, 4
test ebx, ebx
je 0x46df87
mov eax, ebx
jmp 0x46e966
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x358]
cmp ecx, 2
jne 0x46dfb7
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov edx, 0x498
cmovne eax, edx
cmp dword [eax + ebx], ecx
je 0x46dfb7
mov esi, dword [ebx + 0x4fc]
jmp 0x46dfbd
mov esi, dword [ebx + 0x4c8]
mov edi, dword [esp + 0x18]
test esi, esi
je 0x46e00a
push esi
push dword [edi]
call fcn.00494780
add esp, 8
push esi
test eax, eax
jne 0x46dff0
push str.failed_setting_cipher_list:__s
push dword [esp + 0x1c]
call fcn.004554b0
add esp, 0xc
mov eax, 0x3b
jmp 0x46e966
mov ebp, dword [esp + 0x18]
push str.Cipher_selection:__s_n
push ebp
call fcn.00455570
mov ecx, dword [ebx + 0x358]
add esp, 0xc
jmp 0x46e00e
mov ebp, dword [esp + 0x14]
cmp ecx, 2
jne 0x46e035
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x46e035
mov esi, dword [ebx + 0x500]
jmp 0x46e03b
mov esi, dword [ebx + 0x4cc]
test esi, esi
je 0x46e075
push esi
push dword [edi]
call fcn.0049a4b0
add esp, 8
push esi
test eax, eax
jne 0x46e067
push str.failed_setting_TLS_1.3_cipher_suite:__s
push ebp
call fcn.004554b0
add esp, 0xc
mov eax, 0x3b
jmp 0x46e966
push str.TLS_1.3_cipher_selection:__s_n
push ebp
call fcn.00455570
add esp, 0xc
push 1
push dword [edi]
call fcn.004948d0
add esp, 8
cmp dword [ebx + 0x358], 2
jne 0x46e0ac
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x46e0ac
mov esi, dword [ebx + 0x50c]
jmp 0x46e0b2
mov esi, dword [ebx + 0x4d8]
test esi, esi
je 0x46e0e2
push esi
push 0
push 0x5c
push dword [edi]
call fcn.00493db0
add esp, 0x10
test eax, eax
jne 0x46e0e2
push esi
push str.failed_setting_curves_list:__s
push ebp
call fcn.004554b0
add esp, 0xc
mov eax, 0x3b
jmp 0x46e966
mov ecx, dword [ebx + 0x358]
mov edx, 0x488
lea esi, [edx + 0x10]
cmp ecx, 2
jne 0x46e10e
cmp dword [ebx + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebx], ecx
je 0x46e10e
mov al, byte [ebx + 0x510]
jmp 0x46e114
mov al, byte [ebx + 0x4dc]
test al, al
jne 0x46e144
cmp ecx, 2
jne 0x46e136
cmp dword [ebx + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebx], ecx
je 0x46e136
mov al, byte [ebx + 0x511]
jmp 0x46e13c
mov al, byte [ebx + 0x4dd]
test al, al
je 0x46e3d8
cmp ecx, 2
jne 0x46e162
cmp dword [ebx + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebx], ecx
je 0x46e162
mov al, byte [ebp + 0x90e]
jmp 0x46e168
mov al, byte [ebp + 0x8a6]
test al, al
je 0x46e3d8
push dword [edi]
call fcn.004942d0
add esp, 4
mov dword [esp + 0x54], eax
push str.ROOT
push 0
call dword [sym.imp.CRYPT32.dll_CertOpenSystemStoreA]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x46e3ca
xor ecx, ecx
xor esi, esi
push ecx
push eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x54], ecx
call dword [sym.imp.CRYPT32.dll_CertEnumCertificatesInStore]
mov edi, eax
mov dword [esp + 0x20], edi
test edi, edi
je 0x46e38b
nop dword [eax]
mov eax, dword [edi + 4]
mov dword [esp + 0x50], eax
test eax, eax
je 0x46e30d
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea eax, [esp + 0x5c]
push eax
mov eax, dword [edi + 0xc]
add eax, 0x20
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jg 0x46e30d
mov eax, dword [edi + 0xc]
add eax, 0x28
push eax
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jg 0x46e30d
push 2
lea eax, [esp + 0x18]
push eax
push dword [edi + 0xc]
push dword [edi]
call dword [sym.imp.CRYPT32.dll_CertGetIntendedKeyUsage]
test eax, eax
je 0x46e231
test byte [esp + 0x14], 4
je 0x46e30d
jmp 0x46e23f
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x46e30d
lea eax, [esp + 0x34]
push eax
push 0
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertGetEnhancedKeyUsage]
test eax, eax
je 0x46e30d
mov eax, dword [esp + 0x34]
test eax, eax
je 0x46e28f
cmp eax, dword [esp + 0x28]
jbe 0x46e28f
push str.C:Users_seraph_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanlib_vtlsopenssl.c
push 0xb7c
push eax
push esi
call fcn.0045be50
add esp, 0x10
test eax, eax
je 0x46e375
mov esi, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
lea eax, [esp + 0x34]
push eax
push esi
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertGetEnhancedKeyUsage]
test eax, eax
je 0x46e30d
mov eax, dword [esi]
test eax, eax
jne 0x46e2b7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80092004
jne 0x46e30d
jmp 0x46e32c
xor edi, edi
test eax, eax
je 0x46e36f
mov esi, dword [esi + 4]
mov ecx, dword [esi]
mov eax, str.1.3.6.1.5.5.7.3.1
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46e2f0
test dl, dl
je 0x46e2ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46e2f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x46e2d0
xor eax, eax
jmp 0x46e2f5
sbb eax, eax
or eax, 1
test eax, eax
je 0x46e328
mov eax, dword [esp + 0x24]
inc edi
add esi, 4
cmp edi, dword [eax]
jb 0x46e2c4
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
push edi
push dword [esp + 0x20]
call dword [sym.imp.CRYPT32.dll_CertEnumCertificatesInStore]
mov edi, eax
mov dword [esp + 0x20], eax
test edi, edi
jne 0x46e1c0
jmp 0x46e38b
mov edi, dword [esp + 0x20]
push dword [edi + 8]
lea eax, [esp + 0x54]
push eax
push 0
call fcn.004fb5a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x46e309
push esi
push dword [esp + 0x58]
call fcn.004f9d90
mov ecx, dword [esp + 0x44]
cmp eax, 1
movzx ecx, cl
mov eax, 1
cmove ecx, eax
push esi
mov dword [esp + 0x48], ecx
call fcn.004fb520
add esp, 0xc
jmp 0x46e309
mov edi, dword [esp + 0x20]
jmp 0x46e30d
push str.SSL:_Out_of_memory_allocating_for_OID_list
push ebp
call fcn.004554b0
add esp, 8
mov dword [esp + 0x4c], 0x1b
push str.C:Users_seraph_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanlib_vtlsopenssl.c
push 0xbb6
push esi
call fcn.0045bce0
add esp, 0xc
push edi
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
push 0
push dword [esp + 0x20]
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x46e966
cmp byte [esp + 0x3c], al
je 0x46e3ca
push str.successfully_imported_windows_ca_store_n
jmp 0x46e3cf
push str.error_importing_windows_ca_store__continuing_anyway_n
push ebp
call fcn.00455570
add esp, 8
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
test eax, eax
jne 0x46e3ec
test ecx, ecx
je 0x46e490
mov edi, dword [esp + 0x18]
push ecx
push eax
push dword [edi]
call fcn.00494300
add esp, 0xc
test eax, eax
jne 0x46e446
cmp byte [esp + 0x13], al
je 0x46e43f
cmp byte [esp + 0x3c], al
jne 0x46e43f
mov ecx, dword [esp + 0x30]
mov esi, str.none
test ecx, ecx
mov eax, esi
cmovne eax, ecx
push eax
mov eax, dword [esp + 0x30]
test eax, eax
cmovne esi, eax
push esi
push str.error_setting_certificate_verify_locations:__CAfile:__s_CApath:__s
push ebp
call fcn.004554b0
add esp, 0x10
mov eax, 0x4d
jmp 0x46e966
mov eax, str.error_setting_certificate_verify_locations__continuing_anyway:_n
jmp 0x46e44b
mov eax, str.successfully_set_certificate_verify_locations:_n
push eax
push ebp
call fcn.00455570
mov ecx, dword [esp + 0x34]
mov esi, str.none
test ecx, ecx
mov eax, esi
cmovne eax, ecx
push eax
push str._CAfile:__s_n
push ebp
call fcn.00455570
mov eax, dword [esp + 0x44]
test eax, eax
cmovne esi, eax
push esi
push str._CApath:__s_n
push ebp
call fcn.00455570
mov eax, dword [esp + 0x4c]
add esp, 0x20
mov ecx, dword [esp + 0x30]
jmp 0x46e494
mov edi, dword [esp + 0x18]
cmp byte [esp + 0x13], 0
je 0x46e4b3
test eax, eax
jne 0x46e4b3
test ecx, ecx
jne 0x46e4b3
cmp byte [esp + 0x3c], cl
jne 0x46e4b3
push dword [edi]
call fcn.00494840
add esp, 4
mov esi, dword [esp + 0x40]
test esi, esi
je 0x46e51b
call fcn.004fa570
push eax
push dword [edi]
call fcn.004942d0
add esp, 4
push eax
call fcn.004f9e10
add esp, 8
test eax, eax
je 0x46e569
push 1
push esi
push eax
call fcn.004fa7f0
add esp, 0xc
test eax, eax
je 0x46e569
push str.successfully_load_CRL_file:_n
push ebp
call fcn.00455570
add esp, 8
push 0xc
push dword [edi]
call fcn.004942d0
add esp, 4
push eax
call fcn.004fa110
push esi
push str.__CRLfile:__s_n
push ebp
call fcn.00455570
add esp, 0x14
cmp byte [esp + 0x13], 0
je 0x46e5a8
push 0x8000
push dword [edi]
call fcn.004942d0
add esp, 4
push eax
call fcn.004fa110
add esp, 8
cmp dword [ebx + 0x358], 2
jne 0x46e582
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x46e582
mov al, byte [ebp + 0x90c]
jmp 0x46e588
push esi
push str.error_loading_CRL_file:__s
push ebp
call fcn.004554b0
add esp, 0xc
mov eax, 0x52
jmp 0x46e966
mov al, byte [ebp + 0x8a4]
test al, al
jne 0x46e5a8
test esi, esi
jne 0x46e5a8
push 0x80000
push dword [edi]
call fcn.004942d0
add esp, 4
push eax
call fcn.004fa110
add esp, 8
xor eax, eax
cmp byte [esp + 0x13], al
push 0
setne al
push eax
push dword [edi]
call fcn.004948e0
add esp, 0xc
call fcn.0048f160
test al, al
je 0x46e5d6
push 0x46ee30
push dword [edi]
call fcn.00494850
add esp, 8
push 0
push 0x301
push 0x2c
push dword [edi]
call fcn.00493db0
push 0x46ee40
push dword [edi]
call fcn.00498890
add esp, 0x18
cmp dword [ebp + 0x884], 0
je 0x46e63d
push 1
push ebp
call fcn.0044b870
push dword [ebp + 0x888]
mov eax, dword [ebp + 0x884]
push dword [edi]
push ebp
call eax
push 0
push ebp
mov esi, eax
call fcn.0044b870
add esp, 0x1c
test esi, esi
je 0x46e63d
push str.error_signaled_by_ssl_ctx_callback
push ebp
call fcn.004554b0
add esp, 8
mov eax, esi
jmp 0x46e966
mov eax, dword [edi + 4]
test eax, eax
je 0x46e64d
push eax
call fcn.00495410
add esp, 4
push dword [edi]
call fcn.00495d50
mov ecx, eax
add esp, 4
mov dword [edi + 4], ecx
test ecx, ecx
jne 0x46e678
push str.SSL:_couldnt_create_a_context__handle__
push ebp
call fcn.004554b0
add esp, 8
mov eax, 0x1b
jmp 0x46e966
cmp dword [ebx + 0x358], 2
jne 0x46e6a3
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov edx, 0x498
cmovne eax, edx
cmp dword [eax + ebx], 2
je 0x46e6a3
mov al, byte [ebx + 0x512]
jmp 0x46e6a9
mov al, byte [ebx + 0x4de]
test al, al
je 0x46e6bf
push 0
push 1
push 0x41
push ecx
call fcn.00494b90
mov ecx, dword [edi + 4]
add esp, 0x10
push ecx
call fcn.00496650
mov esi, dword [sym.imp.WS2_32.dll_inet_pton]
lea eax, [esp + 0x68]
add esp, 4
mov dword [edi + 8], 0
push eax
push dword [esp + 0x3c]
push 2
call esi
test eax, eax
jne 0x46e71b
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x3c]
push 0x17
call esi
test eax, eax
jne 0x46e71b
push dword [esp + 0x38]
push eax
push 0x37
push dword [edi + 4]
call fcn.00494b90
add esp, 0x10
test eax, eax
jne 0x46e71b
push str.WARNING:_failed_to_configure_server_name_indication__SNI__TLS_extension_n
push ebp
call fcn.00455570
add esp, 8
cmp dword [ebx + 0x358], 2
jne 0x46e746
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x46e746
mov al, byte [ebp + 0x8db]
jmp 0x46e74c
mov al, byte [ebp + 0x873]
test al, al
je 0x46e859
mov dword [esp + 0x40], 0
call fcn.0046edd0
mov edi, eax
call fcn.0046ee00
mov esi, eax
test edi, edi
js 0x46e79b
test esi, esi
js 0x46e79b
push ebx
push edi
mov edi, dword [esp + 0x20]
push dword [edi + 4]
call fcn.00496700
mov eax, dword [esp + 0x50]
add eax, 0x108
lea eax, [ebx + eax*4]
push eax
push esi
push dword [edi + 4]
call fcn.00496700
add esp, 0x18
jmp 0x46e79f
mov edi, dword [esp + 0x18]
push ebx
call fcn.00453850
push dword [esp + 0x48]
lea eax, [esp + 0x48]
push 0
push eax
push ebx
call fcn.004531b0
add esp, 0x14
test al, al
jne 0x46e850
push dword [esp + 0x40]
push dword [edi + 4]
call fcn.00498c00
add esp, 8
test eax, eax
jne 0x46e842
push ebx
call fcn.00453880
call fcn.004ff7d0
mov esi, eax
mov byte [esp + 0x78], 0
push 0x100
lea eax, [esp + 0x7c]
push eax
push esi
call fcn.004ff4a0
add esp, 0x10
cmp byte [esp + 0x74], 0
jne 0x46e82a
mov ecx, 0x5b9d84
test esi, esi
mov eax, 0x5b9d74
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.004da230
add esp, 0xc
mov byte [esp + 0x173], 0
lea eax, [esp + 0x74]
push eax
push str.SSL:_SSL_set_session_failed:__s
push ebp
call fcn.004554b0
add esp, 0xc
jmp 0x46e961
push str.SSL_re_using_session_ID_n
push ebp
call fcn.00455570
add esp, 8
push ebx
call fcn.00453880
add esp, 4
mov eax, dword [esp + 0x48]
cmp byte [eax + 0x494], 0
je 0x46e8ae
call fcn.0049a410
push eax
call fcn.004f0860
mov ecx, dword [esp + 0x48]
mov esi, eax
add ecx, 0x49
add ecx, ecx
mov ecx, dword [ebx + ecx*8]
push dword [ecx + 4]
push 0
push 0x6d
push esi
call fcn.004f0230
push esi
push esi
push dword [edi + 4]
call fcn.00496480
add esp, 0x20
mov eax, dword [esp + 0x48]
mov dword [eax + 0x46c], 1
xor eax, eax
jmp 0x46e966
push dword [esp + 0x58]
push dword [edi + 4]
call fcn.00496710
add esp, 8
test eax, eax
jne 0x46e899
call fcn.004ff7d0
mov esi, eax
mov byte [esp + 0x74], 0
push 0x100
lea eax, [esp + 0x78]
push eax
push esi
call fcn.004ff4a0
add esp, 0xc
cmp byte [esp + 0x74], 0
jne 0x46e911
mov ecx, 0x5b9d84
test esi, esi
mov eax, 0x5b9d74
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.004da230
add esp, 0xc
mov byte [esp + 0x173], 0
lea eax, [esp + 0x74]
push eax
push str.SSL:_SSL_set_fd_failed:__s
push ebp
call fcn.004554b0
add esp, 0xc
jmp 0x46e961
push str.OpenSSL_was_built_without_SSLv2_support
push ecx
call fcn.004554b0
add esp, 8
mov eax, 4
jmp 0x46e966
push str.OpenSSL_was_built_without_SSLv3_support
push ecx
call fcn.004554b0
add esp, 8
mov eax, 4
jmp 0x46e966
push str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
push dword [esp + 0x18]
call fcn.004554b0
add esp, 8
mov eax, 0x23
mov ecx, dword [esp + 0x1f4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004cf5ff
add esp, 0x1e8
ret