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

Disassembly:
sub esp, 0x1e8
mov eax, dword [0x75d580]
xor eax, esp
mov dword [esp + 0x1e4], eax
mov edx, dword [esp + 0x1ec]
mov eax, dword [esp + 0x1f0]
push ebx
push ebp
mov ebx, dword [edx]
mov ebp, 0x488
mov ecx, dword [edx + eax*4 + 0x420]
mov dword [esp + 0x38], eax
push esi
shl eax, 4
push edi
mov dword [esp + 0x58], ecx
add eax, edx
mov ecx, dword [edx + 0x358]
mov edi, 0x498
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], edi
cmp ecx, 2
jne 0x51e95a
cmp dword [edx + 0x424], 0xffffffff
mov eax, ebp
cmovne eax, edi
cmp dword [eax + edx], ecx
je 0x51e95a
mov eax, dword [edx + 0x34c]
jmp 0x51e960
mov eax, dword [edx + 0x304]
mov dword [esp + 0x30], eax
cmp ecx, 2
jne 0x51e97f
cmp dword [edx + 0x424], 0xffffffff
mov eax, ebp
cmovne eax, edi
cmp dword [eax + edx], ecx
mov eax, 0x8dc
jne 0x51e984
mov eax, 0x870
lea esi, [eax + ebx]
cmp ecx, 2
jne 0x51e9a5
cmp dword [edx + 0x424], 0xffffffff
mov eax, ebp
cmovne eax, edi
cmp dword [eax + edx], ecx
je 0x51e9a5
mov edi, dword [edx + 0x4dc]
jmp 0x51e9ab
mov edi, dword [edx + 0x4ac]
cmp ecx, 2
jne 0x51e9cb
cmp dword [edx + 0x424], 0xffffffff
mov eax, ebp
cmovne eax, dword [esp + 0x14]
cmp dword [eax + edx], ecx
je 0x51e9cb
mov eax, dword [ebx + 0x8f4]
jmp 0x51e9d1
mov eax, dword [ebx + 0x888]
mov dword [esp + 0x1c], eax
cmp ecx, 2
jne 0x51e9f8
cmp dword [edx + 0x424], 0xffffffff
mov eax, ebp
mov ebp, 0x498
cmovne eax, ebp
cmp dword [eax + edx], ecx
je 0x51e9f8
mov ebp, dword [ebx + 0x8f8]
jmp 0x51e9fe
mov ebp, dword [ebx + 0x88c]
cmp ecx, 2
jne 0x51ea21
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x14]
cmp dword [eax + edx], ecx
je 0x51ea21
mov ebx, dword [ebx + 0x8fc]
jmp 0x51ea27
mov ebx, dword [ebx + 0x890]
mov dword [esp + 0x20], ebx
cmp ecx, 2
jne 0x51ea4e
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x14]
cmp dword [eax + edx], ecx
je 0x51ea4e
mov eax, dword [edx + 0x4e8]
jmp 0x51ea54
mov eax, dword [edx + 0x4b8]
mov dword [esp + 0x2c], eax
cmp ecx, 2
jne 0x51ea7b
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x14]
cmp dword [eax + edx], ecx
je 0x51ea7b
mov eax, dword [edx + 0x4e4]
jmp 0x51ea81
mov eax, dword [edx + 0x4b4]
mov dword [esp + 0x38], eax
cmp ecx, 2
jne 0x51eaa8
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x14]
cmp dword [eax + edx], ecx
je 0x51eaa8
mov al, byte [edx + 0x508]
jmp 0x51eaae
mov al, byte [edx + 0x4d8]
movzx eax, al
mov dword [esp + 0x3c], eax
cmp ecx, 2
jne 0x51eae0
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + edx], 2
je 0x51eae0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x8e0]
jmp 0x51eaea
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x874]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x44]
push eax
mov byte [esp + 0x2c], 0
mov ecx, dword [ecx + 0x470]
mov dword [esp + 0x18], ecx
call fcn.0051ce20
add esp, 4
test eax, eax
jne 0x51f831
mov dword [esi], 1
cmp edi, 7
ja case.default.0x51eb21
jmp dword [edi*4 + 0x51f84c]
call fcn.00596eb0
mov esi, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x51eb42
push ecx
call fcn.0058de30
add esp, 4
push esi
call fcn.0058e030
mov esi, dword [esp + 0x18]
add esp, 4
mov dword [esi], eax
test eax, eax
jne 0x51ebc5
call fcn.005d6020
mov esi, eax
mov byte [esp + 0x74], 0
push 0x100
lea eax, [esp + 0x78]
push eax
push esi
call fcn.005d5b50
add esp, 0xc
cmp byte [esp + 0x74], 0
jne 0x51eba5
mov ecx, 0x6b7f24
test esi, esi
mov eax, 0x6b7f14
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.0055cd80
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 + 0x18]
call fcn.0050a560
add esp, 0xc
mov eax, 0x1b
jmp 0x51f831
push 0
push 0x10
push 0x21
push eax
call fcn.0058daa0
mov edx, dword [esp + 0x20]
add esp, 0x10
cmp dword [edx + 0x600], 0
je 0x51ec11
cmp byte [edx + 0xb42], 0
je 0x51ec11
push 0x520ff0
push dword [esi]
call fcn.0058e520
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push esi
push 0
push 0x10
push dword [eax]
call fcn.0058daa0
mov edx, dword [esp + 0x28]
add esp, 0x18
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x358], 2
jne 0x51ec40
cmp dword [ecx + 0x424], 0xffffffff
mov eax, 0x488
mov esi, 0x498
cmovne eax, esi
cmp dword [eax + ecx], 2
je 0x51ec40
mov al, byte [edx + 0x912]
jmp 0x51ec46
mov al, byte [edx + 0x8a6]
test al, al
mov dword [esp + 0x34], 0x80024854
mov esi, 0x80024054
cmovne esi, dword [esp + 0x34]
jmp dword [edi*4 + 0x51f86c]
mov edi, dword [esp + 0x14]
push 0
push 2
push 0x7b
push dword [edi]
call fcn.0058daa0
push 0
push 2
push 0x7c
push dword [edi]
call fcn.0058daa0
add esp, 0x20
jmp 0x51ecca
mov edi, dword [esp + 0x14]
or esi, 0x2000000
push ecx
push dword [edi]
call fcn.00520ce0
add esp, 8
test eax, eax
jne 0x51f831
push esi
push dword [edi]
call fcn.0058e570
mov esi, dword [esp + 0x20]
add esp, 8
cmp byte [esi + 0x52a], 0
je 0x51ecf2
push esi
push 0x520400
push dword [edi]
call fcn.0058e530
add esp, 0xc
cmp byte [esi + 0x52b], 0
mov esi, dword [esp + 0x10]
je 0x51ed43
mov eax, dword [str.http_1.1]
push str.http_1.1
mov dword [esp + 0x179], eax
mov eax, dword [0x6b8b74]
push str.ALPN__offering__s_n
push esi
mov byte [esp + 0x180], 8
mov dword [esp + 0x185], eax
call fcn.0050a640
push 9
lea eax, [esp + 0x184]
push eax
push dword [edi]
call fcn.0058e3e0
add esp, 0x18
cmp dword [esp + 0x1c], 0
jne 0x51ed56
test ebp, ebp
jne 0x51ed56
test ebx, ebx
je 0x51eef7
xor ebx, ebx
xor edi, edi
test ebp, ebp
je 0x51ed76
push dword [ebp + 4]
push dword [ebp]
call fcn.005c8040
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x51eeed
mov ebp, dword [esp + 0x18]
mov ecx, 0x498
mov edx, dword [ebp + 0x358]
cmp edx, 2
jne 0x51eda6
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, ecx
cmp dword [eax + ebp], edx
je 0x51eda6
mov eax, dword [esi + 0x904]
jmp 0x51edac
mov eax, dword [esi + 0x898]
test eax, eax
je 0x51ee1b
cmp edx, 2
jne 0x51edd1
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, ecx
cmp dword [eax + ebp], edx
je 0x51edd1
mov ecx, dword [esi + 0x904]
jmp 0x51edd7
mov ecx, dword [esi + 0x898]
cmp edx, 2
jne 0x51edfe
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
mov edx, 0x498
cmovne eax, edx
cmp dword [eax + ebp], 2
je 0x51edfe
mov eax, dword [esi + 0x904]
jmp 0x51ee04
mov eax, dword [esi + 0x898]
push dword [ecx + 4]
push dword [eax]
call fcn.005c8040
mov edi, eax
add esp, 8
test edi, edi
je 0x51eeed
mov ecx, dword [ebp + 0x358]
mov edx, 0x498
cmp ecx, 2
jne 0x51ee47
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, edx
cmp dword [eax + ebp], ecx
je 0x51ee47
mov esi, dword [esi + 0x90c]
jmp 0x51ee4d
mov esi, dword [esi + 0x8a0]
cmp ecx, 2
jne 0x51ee72
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, edx
cmp dword [eax + ebp], ecx
je 0x51ee72
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x908]
jmp 0x51ee7c
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x89c]
cmp ecx, 2
jne 0x51eea7
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebp], 2
je 0x51eea7
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x900]
jmp 0x51eeb1
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x894]
push esi
push edx
push edi
push eax
push dword [esp + 0x30]
mov eax, dword [esp + 0x28]
push ebx
push dword [esp + 0x34]
push dword [eax]
push ebp
call fcn.0051d400
add esp, 0x24
mov esi, eax
test ebx, ebx
je 0x51eedc
push ebx
call fcn.005c6f60
add esp, 4
test edi, edi
je 0x51eee9
push edi
call fcn.005c6f60
add esp, 4
test esi, esi
jne 0x51eefd
mov eax, 0x3a
jmp 0x51f831
mov ebp, dword [esp + 0x18]
jmp 0x51ef01
mov edi, dword [esp + 0x14]
cmp dword [ebp + 0x358], 2
jne 0x51ef2c
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebp], 2
je 0x51ef2c
mov esi, dword [ebp + 0x4f8]
jmp 0x51ef32
mov esi, dword [ebp + 0x4c8]
test esi, esi
je 0x51ef75
push esi
push dword [edi]
call fcn.0058e490
add esp, 8
push esi
test eax, eax
jne 0x51ef61
push str.failed_setting_cipher_list:__s
push dword [esp + 0x18]
call fcn.0050a560
add esp, 0xc
mov eax, 0x3b
jmp 0x51f831
mov ebx, dword [esp + 0x14]
push str.Cipher_selection:__s_n
push ebx
call fcn.0050a640
add esp, 0xc
jmp 0x51ef79
mov ebx, dword [esp + 0x10]
cmp dword [ebp + 0x358], 2
jne 0x51efa4
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebp], 2
je 0x51efa4
mov esi, dword [ebp + 0x4fc]
jmp 0x51efaa
mov esi, dword [ebp + 0x4cc]
test esi, esi
je 0x51efe4
push esi
push dword [edi]
call fcn.00593bf0
add esp, 8
push esi
test eax, eax
jne 0x51efd6
push str.failed_setting_TLS_1.3_cipher_suite:__s
push ebx
call fcn.0050a560
add esp, 0xc
mov eax, 0x3b
jmp 0x51f831
push str.TLS_1.3_cipher_selection:__s_n
push ebx
call fcn.0050a640
add esp, 0xc
push 1
push dword [edi]
call fcn.0058e590
mov ecx, dword [ebp + 0x358]
mov edx, 0x488
add esp, 8
lea esi, [edx + 0x10]
cmp ecx, 2
jne 0x51f01c
cmp dword [ebp + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebp], ecx
je 0x51f01c
mov al, byte [ebp + 0x508]
jmp 0x51f022
mov al, byte [ebp + 0x4d8]
test al, al
jne 0x51f052
cmp ecx, 2
jne 0x51f044
cmp dword [ebp + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebp], ecx
je 0x51f044
mov al, byte [ebp + 0x509]
jmp 0x51f04a
mov al, byte [ebp + 0x4d9]
test al, al
je 0x51f2d6
cmp ecx, 2
jne 0x51f070
cmp dword [ebp + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebp], ecx
je 0x51f070
mov al, byte [ebx + 0x916]
jmp 0x51f076
mov al, byte [ebx + 0x8aa]
test al, al
je 0x51f2d6
push dword [edi]
call fcn.0058dfe0
add esp, 4
mov dword [esp + 0x54], eax
push str.ROOT
push 0
call dword [sym.imp.CRYPT32.dll_CertOpenSystemStoreA]
mov dword [esp + 0x4c], eax
test eax, eax
je 0x51f2c8
xor ecx, ecx
xor esi, esi
push ecx
push eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x3c], ecx
call dword [sym.imp.CRYPT32.dll_CertEnumCertificatesInStore]
mov edi, eax
mov dword [esp + 0x1c], edi
test edi, edi
je 0x51f292
nop dword [eax + eax]
mov eax, dword [edi + 4]
mov dword [esp + 0x50], eax
test eax, eax
je 0x51f214
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 0x51f214
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 0x51f214
push 2
lea eax, [esp + 0x14]
push eax
push dword [edi + 0xc]
push dword [edi]
call dword [sym.imp.CRYPT32.dll_CertGetIntendedKeyUsage]
test eax, eax
je 0x51f141
test byte [esp + 0x10], 4
je 0x51f214
jmp 0x51f14f
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x51f214
lea eax, [esp + 0x20]
push eax
push 0
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertGetEnhancedKeyUsage]
test eax, eax
je 0x51f214
mov eax, dword [esp + 0x20]
test eax, eax
je 0x51f196
cmp eax, dword [esp + 0x48]
jbe 0x51f196
push eax
push esi
call dword [0x75d958]
add esp, 8
test eax, eax
je 0x51f27c
mov esi, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], esi
mov dword [esp + 0x48], eax
lea eax, [esp + 0x20]
push eax
push esi
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertGetEnhancedKeyUsage]
test eax, eax
je 0x51f214
mov eax, dword [esi]
test eax, eax
jne 0x51f1be
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80092004
jne 0x51f214
jmp 0x51f233
xor edi, edi
test eax, eax
je 0x51f276
mov esi, dword [esi + 4]
nop dword [eax + eax]
mov ecx, dword [esi]
mov eax, str.1.3.6.1.5.5.7.3.1
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x51f1f7
test dl, dl
je 0x51f1f3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x51f1f7
add eax, 2
add ecx, 2
test dl, dl
jne 0x51f1d7
xor eax, eax
jmp 0x51f1fc
sbb eax, eax
or eax, 1
test eax, eax
je 0x51f22f
mov eax, dword [esp + 0x18]
inc edi
add esi, 4
cmp edi, dword [eax]
jb 0x51f1d0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
push edi
push dword [esp + 0x50]
call dword [sym.imp.CRYPT32.dll_CertEnumCertificatesInStore]
mov edi, eax
mov dword [esp + 0x1c], eax
test edi, edi
jne 0x51f0d0
jmp 0x51f292
mov edi, dword [esp + 0x1c]
push dword [edi + 8]
lea eax, [esp + 0x54]
push eax
push 0
call fcn.005d1710
mov esi, eax
add esp, 0xc
test esi, esi
je 0x51f210
push esi
push dword [esp + 0x58]
call fcn.005d00d0
mov ecx, dword [esp + 0x30]
cmp eax, 1
movzx ecx, cl
mov eax, 1
cmove ecx, eax
push esi
mov dword [esp + 0x34], ecx
call fcn.005d1690
add esp, 0xc
jmp 0x51f210
mov edi, dword [esp + 0x1c]
jmp 0x51f214
push str.SSL:_Out_of_memory_allocating_for_OID_list
push ebx
call fcn.0050a560
add esp, 8
mov dword [esp + 0x34], 0x1b
push esi
call dword [0x75d954]
add esp, 4
push edi
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
push 0
push dword [esp + 0x50]
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x51f831
cmp byte [esp + 0x28], al
je 0x51f2c8
push str.successfully_imported_windows_ca_store_n
jmp 0x51f2cd
push str.error_importing_windows_ca_store__continuing_anyway_n
push ebx
call fcn.0050a640
add esp, 8
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x38]
test eax, eax
jne 0x51f2ea
test esi, esi
je 0x51f375
mov edi, dword [esp + 0x14]
push esi
push eax
push dword [edi]
call fcn.0058e010
add esp, 0xc
test eax, eax
jne 0x51f340
cmp dword [esp + 0x3c], eax
je 0x51f339
cmp byte [esp + 0x28], al
jne 0x51f339
mov ecx, str.none
test esi, esi
mov eax, ecx
cmovne eax, esi
push eax
mov eax, dword [esp + 0x30]
test eax, eax
cmovne ecx, eax
push ecx
push str.error_setting_certificate_verify_locations:_n__CAfile:__s_n__CApath:__s
push ebx
call fcn.0050a560
add esp, 0x10
mov eax, 0x4d
jmp 0x51f831
push str.error_setting_certificate_verify_locations__continuing_anyway:_n
jmp 0x51f345
push str.successfully_set_certificate_verify_locations:_n
push ebx
call fcn.0050a640
add esp, 8
mov ecx, str.none
mov eax, ecx
test esi, esi
cmovne eax, esi
push eax
mov eax, dword [esp + 0x30]
test eax, eax
cmovne ecx, eax
push ecx
push str.__CAfile:__s_n__CApath:__s_n
push ebx
call fcn.0050a640
add esp, 0x10
jmp 0x51f379
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
test esi, esi
je 0x51f3e1
call fcn.005d07b0
push eax
push dword [edi]
call fcn.0058dfe0
add esp, 4
push eax
call fcn.005d0150
add esp, 8
test eax, eax
je 0x51f42f
push 1
push esi
push eax
call fcn.005d0a30
add esp, 0xc
test eax, eax
je 0x51f42f
push str.successfully_load_CRL_file:_n
push ebx
call fcn.0050a640
add esp, 8
push 0xc
push dword [edi]
call fcn.0058dfe0
add esp, 4
push eax
call fcn.005d0450
push esi
push str.__CRLfile:__s_n
push ebx
call fcn.0050a640
add esp, 0x14
cmp dword [esp + 0x3c], 0
je 0x51f46e
push 0x8000
push dword [edi]
call fcn.0058dfe0
add esp, 4
push eax
call fcn.005d0450
add esp, 8
cmp dword [ebp + 0x358], 2
jne 0x51f448
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebp], 2
je 0x51f448
mov al, byte [ebx + 0x914]
jmp 0x51f44e
push esi
push str.error_loading_CRL_file:__s
push ebx
call fcn.0050a560
add esp, 0xc
mov eax, 0x52
jmp 0x51f831
mov al, byte [ebx + 0x8a8]
test al, al
jne 0x51f46e
test esi, esi
jne 0x51f46e
push 0x80000
push dword [edi]
call fcn.0058dfe0
add esp, 4
push eax
call fcn.005d0450
add esp, 8
xor eax, eax
cmp dword [esp + 0x3c], eax
push 0
setne al
push eax
push dword [edi]
call fcn.0058e5a0
add esp, 0xc
call fcn.0053a470
test al, al
je 0x51f49c
push 0x51fcf0
push dword [edi]
call fcn.0058e510
add esp, 8
push 0
push 0x301
push 0x2c
push dword [edi]
call fcn.0058daa0
push 0x51fd00
push dword [edi]
call fcn.00592350
add esp, 0x18
cmp dword [ebx + 0x880], 0
je 0x51f500
push 1
push ebx
call fcn.004fbae0
push dword [ebx + 0x884]
mov eax, dword [ebx + 0x880]
push dword [edi]
push ebx
call eax
push 0
push ebx
mov esi, eax
call fcn.004fbae0
add esp, 0x1c
test esi, esi
je 0x51f500
push str.error_signaled_by_ssl_ctx_callback
push ebx
call fcn.0050a560
mov eax, esi
jmp 0x51f82e
mov eax, dword [edi + 4]
test eax, eax
je 0x51f510
push eax
call fcn.0058efd0
add esp, 4
push dword [edi]
call fcn.0058f7d0
mov ecx, eax
add esp, 4
mov dword [edi + 4], ecx
test ecx, ecx
jne 0x51f538
push str.SSL:_couldnt_create_a_context__handle__
push ebx
call fcn.0050a560
mov eax, 0x1b
jmp 0x51f82e
cmp dword [ebp + 0x358], 2
mov esi, 0x488
jne 0x51f565
cmp dword [ebp + 0x424], 0xffffffff
mov eax, esi
mov edx, 0x498
cmovne eax, edx
cmp dword [eax + ebp], 2
je 0x51f565
mov al, byte [ebp + 0x50a]
jmp 0x51f56b
mov al, byte [ebp + 0x4da]
test al, al
je 0x51f57e
push 0
push 1
push 0x41
push ecx
call fcn.0058e8f0
add esp, 0x10
push dword [edi + 4]
call fcn.00590050
lea eax, [esp + 0x68]
mov dword [edi + 8], 0
push eax
push dword [esp + 0x38]
push 2
call fcn.0051b280
add esp, 0x10
test eax, eax
jne 0x51f5df
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x34]
push 0x17
call fcn.0051b280
add esp, 0xc
test eax, eax
jne 0x51f5df
push dword [esp + 0x30]
push eax
push 0x37
push dword [edi + 4]
call fcn.0058e8f0
add esp, 0x10
test eax, eax
jne 0x51f5df
push str.WARNING:_failed_to_configure_server_name_indication__SNI__TLS_extension_n
push ebx
call fcn.0050a640
add esp, 8
cmp dword [ebp + 0x358], 2
jne 0x51f605
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x498
cmovne esi, eax
cmp dword [esi + ebp], 2
je 0x51f605
mov al, byte [ebx + 0x8db]
jmp 0x51f60b
mov al, byte [ebx + 0x86f]
test al, al
je 0x51f71e
mov dword [esp + 0x24], 0
call fcn.0051fc90
mov edi, eax
call fcn.0051fcc0
mov esi, eax
test edi, edi
js 0x51f65b
test esi, esi
js 0x51f65b
push ebp
push edi
mov edi, dword [esp + 0x1c]
push dword [edi + 4]
call fcn.00590130
mov eax, dword [esp + 0x4c]
lea eax, [eax*4 + 0x420]
add eax, ebp
push eax
push esi
push dword [edi + 4]
call fcn.00590130
add esp, 0x18
jmp 0x51f65f
mov edi, dword [esp + 0x14]
push ebp
call fcn.00504cc0
push dword [esp + 0x44]
lea eax, [esp + 0x2c]
push 0
push eax
push ebp
call fcn.00504900
add esp, 0x14
test al, al
jne 0x51f715
push dword [esp + 0x24]
push dword [edi + 4]
call fcn.00592730
add esp, 8
test eax, eax
jne 0x51f707
push ebp
call fcn.00504cf0
call fcn.005d5d30
mov esi, eax
mov byte [esp + 0x78], 0
push 0x100
lea eax, [esp + 0x7c]
push eax
push esi
call fcn.005d5b50
add esp, 0x10
cmp byte [esp + 0x74], 0
jne 0x51f6ea
mov ecx, 0x6b7f24
test esi, esi
mov eax, 0x6b7f14
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.0055cd80
add esp, 0xc
mov byte [esp + 0x173], 0
lea eax, [esp + 0x74]
push eax
push str.SSL:_SSL_set_session_failed:__s
push ebx
call fcn.0050a560
add esp, 0xc
mov eax, 0x23
jmp 0x51f831
push str.SSL_re_using_session_ID_n
push ebx
call fcn.0050a640
add esp, 8
push ebp
call fcn.00504cf0
add esp, 4
mov eax, dword [esp + 0x44]
cmp byte [eax + 0x494], 0
je 0x51f774
call fcn.00593b40
push eax
call fcn.005c7420
mov ecx, dword [esp + 0x44]
mov esi, eax
add ecx, 0x49
add ecx, ecx
mov ecx, dword [ebp + ecx*8]
push dword [ecx + 4]
push 0
push 0x6d
push esi
call fcn.005c6e50
push esi
push esi
push dword [edi + 4]
call fcn.0058fec0
add esp, 0x20
mov eax, dword [esp + 0x44]
mov dword [eax + 0x46c], 1
xor eax, eax
jmp 0x51f831
push dword [esp + 0x58]
push dword [edi + 4]
call fcn.00590140
add esp, 8
test eax, eax
jne 0x51f75f
call fcn.005d5d30
mov esi, eax
mov byte [esp + 0x74], 0
push 0x100
lea eax, [esp + 0x78]
push eax
push esi
call fcn.005d5b50
add esp, 0xc
cmp byte [esp + 0x74], 0
jne 0x51f7d7
mov ecx, 0x6b7f24
test esi, esi
mov eax, 0x6b7f14
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.0055cd80
add esp, 0xc
mov byte [esp + 0x173], 0
lea eax, [esp + 0x74]
push eax
push str.SSL:_SSL_set_fd_failed:__s
push ebx
call fcn.0050a560
add esp, 0xc
mov eax, 0x23
jmp 0x51f831
push str.OpenSSL_was_built_without_SSLv2_support
push dword [esp + 0x14]
call fcn.0050a560
mov eax, 4
jmp 0x51f82e
push str.OpenSSL_was_built_without_SSLv3_support
push dword [esp + 0x14]
call fcn.0050a560
mov eax, 4
jmp 0x51f82e
push str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
push dword [esp + 0x14]
call fcn.0050a560
mov eax, 0x23
add esp, 8
mov ecx, dword [esp + 0x1f4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0048a267
add esp, 0x1e8
ret