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

Disassembly:
sub esp, 0x1e8
mov eax, dword [0x719dd4]
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 0x509f80
cmp dword [edi + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + edi], ecx
je 0x509f54
mov eax, dword [edi + 0x34c]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x4e0]
jmp 0x509f90
mov ebp, dword [edi + 0x304]
mov dword [esp + 0x38], ebp
cmp ecx, 2
jne 0x509f8a
cmp dword [edi + 0x424], 0xffffffff
mov eax, edx
mov dword [esp + 0x38], ebp
cmovne eax, esi
cmp dword [eax + edi], ecx
je 0x509f8a
mov eax, dword [edi + 0x4e0]
jmp 0x509f90
mov eax, dword [edi + 0x304]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x4ac]
mov dword [esp + 0x34], eax
cmp ecx, 2
jne 0x50a203
cmp dword [edi + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + edi], ecx
je 0x509ff1
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 0x50a241
mov ebp, dword [ebx + 0x850]
mov dword [esp + 0x28], ebp
cmp ecx, 2
jne 0x50a20d
cmp dword [edi + 0x424], 0xffffffff
mov eax, edx
mov dword [esp + 0x28], ebp
cmovne eax, esi
cmp dword [eax + edi], ecx
je 0x50a052
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 0x50a241
mov esi, dword [ebx + 0x868]
cmp ecx, 2
jne 0x50a213
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 0x50a0ae
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 0x50a241
mov edx, dword [ebx + 0x88c]
mov dword [esp + 0x20], edx
cmp ecx, 2
jne 0x50a21d
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 0x50a108
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 0x50a241
mov eax, dword [edi + 0x4b8]
mov dword [esp + 0x2c], eax
cmp ecx, 2
jne 0x50a227
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 0x50a15c
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 0x50a241
mov eax, dword [edi + 0x4b4]
mov dword [esp + 0x30], eax
cmp ecx, 2
jne 0x50a231
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 0x50a1b2
mov al, byte [edi + 0x510]
mov byte [esp + 0x13], al
mov eax, dword [ebx + 0x8e0]
jmp 0x50a241
mov al, byte [edi + 0x4dc]
mov byte [esp + 0x13], al
cmp ecx, 2
jne 0x50a23b
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 0x50a23b
mov eax, dword [ebx + 0x8e0]
jmp 0x50a241
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.00508340
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x50b1e6
cmp dword [edi + 0x358], 2
jne 0x50a29a
cmp dword [edi + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + edi], 2
je 0x50a29a
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 0x8dc]
jmp 0x50a2a4
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 0x874]
mov dword [eax], 1
mov eax, dword [esp + 0x34]
cmp eax, 7
ja case.default.0x50a2b7
jmp dword [eax*4 + 0x50b200]
call fcn.005386c0
mov edi, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
test ecx, ecx
je 0x50a2d8
push ecx
call fcn.0052f0f0
add esp, 4
push edi
call fcn.0052f2f0
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x50a35b
call fcn.00578b70
mov esi, eax
mov byte [esp + 0x74], 0
push 0x100
lea eax, [esp + 0x78]
push eax
push esi
call fcn.005784c0
add esp, 0xc
cmp byte [esp + 0x74], 0
jne 0x50a33b
mov ecx, str.No_error
test esi, esi
mov eax, str.Unknown_error
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.00645a60
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.004f2370
add esp, 0xc
mov eax, 0x1b
jmp 0x50b1e6
push 0
push 0x10
push 0x21
push eax
call fcn.0052ed80
mov edi, dword [esp + 0x24]
add esp, 0x10
cmp dword [edi + 0x600], 0
je 0x50a3ab
cmp byte [edi + 0xb42], 0
je 0x50a3ab
mov eax, dword [esp + 0x18]
push 0x50c610
push dword [eax]
call fcn.0052f830
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push edi
push 0
push 0x10
push dword [eax]
call fcn.0052ed80
mov edi, dword [esp + 0x2c]
add esp, 0x18
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x358]
cmp ecx, 2
jne 0x50a3d8
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x24]
cmp dword [eax + edx], ecx
je 0x50a3d8
mov al, byte [edi + 0x90a]
jmp 0x50a3de
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 + 0x50b220]
mov eax, dword [esp + 0x18]
push 0
push 2
push 0x7b
push dword [eax]
call fcn.0052ed80
mov eax, dword [esp + 0x28]
push 0
push 2
push 0x7c
push dword [eax]
call fcn.0052ed80
add esp, 0x20
jmp 0x50a56e
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 0x50a48d
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x50a48d
mov ecx, dword [ebx + 0x4e0]
jmp 0x50a493
mov ecx, dword [ebx + 0x4ac]
lea edx, [ecx - 1]
xor eax, eax
cmp edx, 6
ja case.0x50a49d.2
jmp dword [edx*4 + 0x50b240]
mov eax, 0x301
test ecx, ecx
je 0x50a4c6
push 0
push eax
push 0x7b
push dword [esp + 0x40]
call fcn.0052ed80
add esp, 0x10
test eax, eax
je 0x50b1e1
cmp dword [ebx + 0x358], 2
jne 0x50a506
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x50a506
mov eax, dword [ebx + 0x4e4]
jmp 0x50a50c
mov eax, 0x302
jmp 0x50a4ad
mov eax, 0x303
jmp 0x50a4ad
mov eax, 0x304
jmp 0x50a4ad
mov eax, dword [ebx + 0x4b0]
cmp eax, 0x50000
jg 0x50a535
je 0x50a52e
test eax, eax
je 0x50a543
cmp eax, 0x10000
je 0x50a543
cmp eax, 0x40000
jne 0x50a543
mov eax, 0x301
jmp 0x50a553
mov eax, 0x302
jmp 0x50a553
cmp eax, 0x60000
je 0x50a54e
cmp eax, 0x70000
je 0x50a547
xor eax, eax
jmp 0x50a553
mov eax, 0x304
jmp 0x50a553
mov eax, 0x303
push 0
push eax
push 0x7c
push dword [esp + 0x40]
call fcn.0052ed80
add esp, 0x10
test eax, eax
je 0x50b1e1
xor ebx, ebx
mov eax, dword [esp + 0x18]
push edi
push dword [eax]
call fcn.0052f880
mov edi, dword [esp + 0x24]
add esp, 8
cmp byte [edi + 0x533], 0
je 0x50a59e
mov eax, dword [esp + 0x18]
push edi
push 0x50bd10
push dword [eax]
call fcn.0052f840
add esp, 0xc
cmp byte [edi + 0x534], 0
je 0x50a5f0
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.004f2430
push 9
lea eax, [esp + 0x184]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax]
call fcn.0052f690
add esp, 0x18
test ebp, ebp
jne 0x50a602
test esi, esi
jne 0x50a602
cmp dword [esp + 0x20], esi
je 0x50a807
xor ebp, ebp
xor edi, edi
test esi, esi
je 0x50a629
push dword [esi + 4]
push dword [esi]
call fcn.0056a5d0
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x50a629
mov ebx, 0x1b
mov eax, ebx
jmp 0x50b1e6
mov esi, dword [esp + 0x1c]
mov edx, dword [esi + 0x358]
cmp edx, 2
jne 0x50a65d
cmp dword [esi + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + esi], edx
je 0x50a65d
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x8fc]
jmp 0x50a667
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x894]
test eax, eax
je 0x50a70b
cmp edx, 2
jne 0x50a6da
cmp dword [esi + 0x424], 0xffffffff
mov edi, 0x488
mov eax, edi
cmovne eax, dword [esp + 0x24]
cmp dword [eax + esi], edx
je 0x50a69e
mov eax, dword [esp + 0x14]
mov ecx, dword [ecx + 0x8fc]
mov eax, dword [eax + 0x8fc]
jmp 0x50a6f0
mov ecx, dword [ecx + 0x894]
mov esi, ecx
cmp edx, 2
jne 0x50a6e2
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 0x50a6d4
mov eax, dword [esp + 0x14]
mov esi, edi
mov eax, dword [eax + 0x8fc]
jmp 0x50a6f0
mov ecx, esi
mov esi, edi
jmp 0x50a6e6
mov ecx, dword [ecx + 0x894]
jmp 0x50a6e6
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x894]
push dword [ecx + 4]
push dword [eax]
call fcn.0056a5d0
mov edi, eax
add esp, 8
test edi, edi
jne 0x50a70b
lea ebx, [eax + 0x1b]
jmp 0x50a7e2
mov edx, dword [esi + 0x358]
cmp edx, 2
jne 0x50a772
cmp dword [esi + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + esi], edx
je 0x50a741
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x904]
mov esi, dword [eax + 0x900]
jmp 0x50a786
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x89c]
cmp edx, 2
jne 0x50a77c
cmp dword [esi + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x24]
cmp dword [eax + esi], edx
je 0x50a77c
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x900]
jmp 0x50a786
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 0x50a7b2
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x24]
cmp dword [eax + edx], 2
je 0x50a7b2
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x8f8]
jmp 0x50a7bc
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.00508610
add esp, 0x24
mov ecx, 0x3a
test eax, eax
cmove ebx, ecx
test ebp, ebp
je 0x50a7ef
push ebp
call fcn.00569380
add esp, 4
test edi, edi
je 0x50a7fc
push edi
call fcn.00569380
add esp, 4
test ebx, ebx
je 0x50a807
mov eax, ebx
jmp 0x50b1e6
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x358]
cmp ecx, 2
jne 0x50a837
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov edx, 0x498
cmovne eax, edx
cmp dword [eax + ebx], ecx
je 0x50a837
mov esi, dword [ebx + 0x4fc]
jmp 0x50a83d
mov esi, dword [ebx + 0x4c8]
mov edi, dword [esp + 0x18]
test esi, esi
je 0x50a88a
push esi
push dword [edi]
call fcn.0052f750
add esp, 8
push esi
test eax, eax
jne 0x50a870
push str.failed_setting_cipher_list:__s
push dword [esp + 0x1c]
call fcn.004f2370
add esp, 0xc
mov eax, 0x3b
jmp 0x50b1e6
mov ebp, dword [esp + 0x18]
push str.Cipher_selection:__s_n
push ebp
call fcn.004f2430
mov ecx, dword [ebx + 0x358]
add esp, 0xc
jmp 0x50a88e
mov ebp, dword [esp + 0x14]
cmp ecx, 2
jne 0x50a8b5
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x50a8b5
mov esi, dword [ebx + 0x500]
jmp 0x50a8bb
mov esi, dword [ebx + 0x4cc]
test esi, esi
je 0x50a8f5
push esi
push dword [edi]
call fcn.00535480
add esp, 8
push esi
test eax, eax
jne 0x50a8e7
push str.failed_setting_TLS_1.3_cipher_suite:__s
push ebp
call fcn.004f2370
add esp, 0xc
mov eax, 0x3b
jmp 0x50b1e6
push str.TLS_1.3_cipher_selection:__s_n
push ebp
call fcn.004f2430
add esp, 0xc
push 1
push dword [edi]
call fcn.0052f8a0
add esp, 8
cmp dword [ebx + 0x358], 2
jne 0x50a92c
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x50a92c
mov esi, dword [ebx + 0x50c]
jmp 0x50a932
mov esi, dword [ebx + 0x4d8]
test esi, esi
je 0x50a962
push esi
push 0
push 0x5c
push dword [edi]
call fcn.0052ed80
add esp, 0x10
test eax, eax
jne 0x50a962
push esi
push str.failed_setting_curves_list:__s
push ebp
call fcn.004f2370
add esp, 0xc
mov eax, 0x3b
jmp 0x50b1e6
mov ecx, dword [ebx + 0x358]
mov edx, 0x488
lea esi, [edx + 0x10]
cmp ecx, 2
jne 0x50a98e
cmp dword [ebx + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebx], ecx
je 0x50a98e
mov al, byte [ebx + 0x510]
jmp 0x50a994
mov al, byte [ebx + 0x4dc]
test al, al
jne 0x50a9c4
cmp ecx, 2
jne 0x50a9b6
cmp dword [ebx + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebx], ecx
je 0x50a9b6
mov al, byte [ebx + 0x511]
jmp 0x50a9bc
mov al, byte [ebx + 0x4dd]
test al, al
je 0x50ac58
cmp ecx, 2
jne 0x50a9e2
cmp dword [ebx + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebx], ecx
je 0x50a9e2
mov al, byte [ebp + 0x90e]
jmp 0x50a9e8
mov al, byte [ebp + 0x8a6]
test al, al
je 0x50ac58
push dword [edi]
call fcn.0052f2a0
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 0x50ac4a
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 0x50ac0b
nop dword [eax]
mov eax, dword [edi + 4]
mov dword [esp + 0x50], eax
test eax, eax
je 0x50ab8d
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 0x50ab8d
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 0x50ab8d
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 0x50aab1
test byte [esp + 0x14], 4
je 0x50ab8d
jmp 0x50aabf
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x50ab8d
lea eax, [esp + 0x34]
push eax
push 0
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertGetEnhancedKeyUsage]
test eax, eax
je 0x50ab8d
mov eax, dword [esp + 0x34]
test eax, eax
je 0x50ab0f
cmp eax, dword [esp + 0x28]
jbe 0x50ab0f
push str.C:Users_seraph_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanlib_vtlsopenssl.c
push 0xb7c
push eax
push esi
call fcn.004e1970
add esp, 0x10
test eax, eax
je 0x50abf5
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 0x50ab8d
mov eax, dword [esi]
test eax, eax
jne 0x50ab37
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80092004
jne 0x50ab8d
jmp 0x50abac
xor edi, edi
test eax, eax
je 0x50abef
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 0x50ab70
test dl, dl
je 0x50ab6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x50ab70
add eax, 2
add ecx, 2
test dl, dl
jne 0x50ab50
xor eax, eax
jmp 0x50ab75
sbb eax, eax
or eax, 1
test eax, eax
je 0x50aba8
mov eax, dword [esp + 0x24]
inc edi
add esi, 4
cmp edi, dword [eax]
jb 0x50ab44
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 0x50aa40
jmp 0x50ac0b
mov edi, dword [esp + 0x20]
push dword [edi + 8]
lea eax, [esp + 0x54]
push eax
push 0
call fcn.005745d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x50ab89
push esi
push dword [esp + 0x58]
call fcn.00572dc0
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.00574550
add esp, 0xc
jmp 0x50ab89
mov edi, dword [esp + 0x20]
jmp 0x50ab8d
push str.SSL:_Out_of_memory_allocating_for_OID_list
push ebp
call fcn.004f2370
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.004e1800
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 0x50b1e6
cmp byte [esp + 0x3c], al
je 0x50ac4a
push str.successfully_imported_windows_ca_store_n
jmp 0x50ac4f
push str.error_importing_windows_ca_store__continuing_anyway_n
push ebp
call fcn.004f2430
add esp, 8
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
test eax, eax
jne 0x50ac6c
test ecx, ecx
je 0x50ad10
mov edi, dword [esp + 0x18]
push ecx
push eax
push dword [edi]
call fcn.0052f2d0
add esp, 0xc
test eax, eax
jne 0x50acc6
cmp byte [esp + 0x13], al
je 0x50acbf
cmp byte [esp + 0x3c], al
jne 0x50acbf
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.004f2370
add esp, 0x10
mov eax, 0x4d
jmp 0x50b1e6
mov eax, str.error_setting_certificate_verify_locations__continuing_anyway:_n
jmp 0x50accb
mov eax, str.successfully_set_certificate_verify_locations:_n
push eax
push ebp
call fcn.004f2430
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.004f2430
mov eax, dword [esp + 0x44]
test eax, eax
cmovne esi, eax
push esi
push str._CApath:__s_n
push ebp
call fcn.004f2430
mov eax, dword [esp + 0x4c]
add esp, 0x20
mov ecx, dword [esp + 0x30]
jmp 0x50ad14
mov edi, dword [esp + 0x18]
cmp byte [esp + 0x13], 0
je 0x50ad33
test eax, eax
jne 0x50ad33
test ecx, ecx
jne 0x50ad33
cmp byte [esp + 0x3c], cl
jne 0x50ad33
push dword [edi]
call fcn.0052f810
add esp, 4
mov esi, dword [esp + 0x40]
test esi, esi
je 0x50ad9b
call fcn.005735a0
push eax
push dword [edi]
call fcn.0052f2a0
add esp, 4
push eax
call fcn.00572e40
add esp, 8
test eax, eax
je 0x50ade9
push 1
push esi
push eax
call fcn.00573820
add esp, 0xc
test eax, eax
je 0x50ade9
push str.successfully_load_CRL_file:_n
push ebp
call fcn.004f2430
add esp, 8
push 0xc
push dword [edi]
call fcn.0052f2a0
add esp, 4
push eax
call fcn.00573140
push esi
push str.__CRLfile:__s_n
push ebp
call fcn.004f2430
add esp, 0x14
cmp byte [esp + 0x13], 0
je 0x50ae28
push 0x8000
push dword [edi]
call fcn.0052f2a0
add esp, 4
push eax
call fcn.00573140
add esp, 8
cmp dword [ebx + 0x358], 2
jne 0x50ae02
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x50ae02
mov al, byte [ebp + 0x90c]
jmp 0x50ae08
push esi
push str.error_loading_CRL_file:__s
push ebp
call fcn.004f2370
add esp, 0xc
mov eax, 0x52
jmp 0x50b1e6
mov al, byte [ebp + 0x8a4]
test al, al
jne 0x50ae28
test esi, esi
jne 0x50ae28
push 0x80000
push dword [edi]
call fcn.0052f2a0
add esp, 4
push eax
call fcn.00573140
add esp, 8
xor eax, eax
cmp byte [esp + 0x13], al
push 0
setne al
push eax
push dword [edi]
call fcn.0052f8b0
add esp, 0xc
call fcn.0052a130
test al, al
je 0x50ae56
push 0x50b6b0
push dword [edi]
call fcn.0052f820
add esp, 8
push 0
push 0x301
push 0x2c
push dword [edi]
call fcn.0052ed80
push 0x50b6c0
push dword [edi]
call fcn.00533860
add esp, 0x18
cmp dword [ebp + 0x884], 0
je 0x50aebd
push 1
push ebp
call fcn.004e40d0
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.004e40d0
add esp, 0x1c
test esi, esi
je 0x50aebd
push str.error_signaled_by_ssl_ctx_callback
push ebp
call fcn.004f2370
add esp, 8
mov eax, esi
jmp 0x50b1e6
mov eax, dword [edi + 4]
test eax, eax
je 0x50aecd
push eax
call fcn.005303e0
add esp, 4
push dword [edi]
call fcn.00530d20
mov ecx, eax
add esp, 4
mov dword [edi + 4], ecx
test ecx, ecx
jne 0x50aef8
push str.SSL:_couldnt_create_a_context__handle__
push ebp
call fcn.004f2370
add esp, 8
mov eax, 0x1b
jmp 0x50b1e6
cmp dword [ebx + 0x358], 2
jne 0x50af23
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov edx, 0x498
cmovne eax, edx
cmp dword [eax + ebx], 2
je 0x50af23
mov al, byte [ebx + 0x512]
jmp 0x50af29
mov al, byte [ebx + 0x4de]
test al, al
je 0x50af3f
push 0
push 1
push 0x41
push ecx
call fcn.0052fb60
mov ecx, dword [edi + 4]
add esp, 0x10
push ecx
call fcn.00531620
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 0x50af9b
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x3c]
push 0x17
call esi
test eax, eax
jne 0x50af9b
push dword [esp + 0x38]
push eax
push 0x37
push dword [edi + 4]
call fcn.0052fb60
add esp, 0x10
test eax, eax
jne 0x50af9b
push str.WARNING:_failed_to_configure_server_name_indication__SNI__TLS_extension_n
push ebp
call fcn.004f2430
add esp, 8
cmp dword [ebx + 0x358], 2
jne 0x50afc6
cmp dword [ebx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x50afc6
mov al, byte [ebp + 0x8db]
jmp 0x50afcc
mov al, byte [ebp + 0x873]
test al, al
je 0x50b0d9
mov dword [esp + 0x40], 0
call fcn.0050b650
mov edi, eax
call fcn.0050b680
mov esi, eax
test edi, edi
js 0x50b01b
test esi, esi
js 0x50b01b
push ebx
push edi
mov edi, dword [esp + 0x20]
push dword [edi + 4]
call fcn.005316d0
mov eax, dword [esp + 0x50]
add eax, 0x108
lea eax, [ebx + eax*4]
push eax
push esi
push dword [edi + 4]
call fcn.005316d0
add esp, 0x18
jmp 0x50b01f
mov edi, dword [esp + 0x18]
push ebx
call fcn.004ec200
push dword [esp + 0x48]
lea eax, [esp + 0x48]
push 0
push eax
push ebx
call fcn.004ebae0
add esp, 0x14
test al, al
jne 0x50b0d0
push dword [esp + 0x40]
push dword [edi + 4]
call fcn.00533bd0
add esp, 8
test eax, eax
jne 0x50b0c2
push ebx
call fcn.004ec230
call fcn.005787f0
mov esi, eax
mov byte [esp + 0x78], 0
push 0x100
lea eax, [esp + 0x7c]
push eax
push esi
call fcn.005784c0
add esp, 0x10
cmp byte [esp + 0x74], 0
jne 0x50b0aa
mov ecx, str.No_error
test esi, esi
mov eax, str.Unknown_error
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.00645a60
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.004f2370
add esp, 0xc
jmp 0x50b1e1
push str.SSL_re_using_session_ID_n
push ebp
call fcn.004f2430
add esp, 8
push ebx
call fcn.004ec230
add esp, 4
mov eax, dword [esp + 0x48]
cmp byte [eax + 0x494], 0
je 0x50b12e
call fcn.005353e0
push eax
call fcn.00569890
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.00569260
push esi
push esi
push dword [edi + 4]
call fcn.00531450
add esp, 0x20
mov eax, dword [esp + 0x48]
mov dword [eax + 0x46c], 1
xor eax, eax
jmp 0x50b1e6
push dword [esp + 0x58]
push dword [edi + 4]
call fcn.005316e0
add esp, 8
test eax, eax
jne 0x50b119
call fcn.005787f0
mov esi, eax
mov byte [esp + 0x74], 0
push 0x100
lea eax, [esp + 0x78]
push eax
push esi
call fcn.005784c0
add esp, 0xc
cmp byte [esp + 0x74], 0
jne 0x50b191
mov ecx, str.No_error
test esi, esi
mov eax, str.Unknown_error
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.00645a60
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.004f2370
add esp, 0xc
jmp 0x50b1e1
push str.OpenSSL_was_built_without_SSLv2_support
push ecx
call fcn.004f2370
add esp, 8
mov eax, 4
jmp 0x50b1e6
push str.OpenSSL_was_built_without_SSLv3_support
push ecx
call fcn.004f2370
add esp, 8
mov eax, 4
jmp 0x50b1e6
push str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
push dword [esp + 0x18]
call fcn.004f2370
add esp, 8
mov eax, 0x23
mov ecx, dword [esp + 0x1f4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0063024e
add esp, 0x1e8
ret