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

Disassembly:
sub esp, 0x1e8
mov eax, dword [0x660124]
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 0x45940a
cmp dword [edx + 0x424], 0xffffffff
mov eax, ebp
cmovne eax, edi
cmp dword [eax + edx], ecx
je 0x45940a
mov eax, dword [edx + 0x34c]
jmp 0x459410
mov eax, dword [edx + 0x304]
mov dword [esp + 0x30], eax
cmp ecx, 2
jne 0x45942f
cmp dword [edx + 0x424], 0xffffffff
mov eax, ebp
cmovne eax, edi
cmp dword [eax + edx], ecx
mov eax, 0x8dc
jne 0x459434
mov eax, 0x870
lea esi, [eax + ebx]
cmp ecx, 2
jne 0x459455
cmp dword [edx + 0x424], 0xffffffff
mov eax, ebp
cmovne eax, edi
cmp dword [eax + edx], ecx
je 0x459455
mov edi, dword [edx + 0x4dc]
jmp 0x45945b
mov edi, dword [edx + 0x4ac]
cmp ecx, 2
jne 0x45947b
cmp dword [edx + 0x424], 0xffffffff
mov eax, ebp
cmovne eax, dword [esp + 0x14]
cmp dword [eax + edx], ecx
je 0x45947b
mov eax, dword [ebx + 0x8f4]
jmp 0x459481
mov eax, dword [ebx + 0x888]
mov dword [esp + 0x1c], eax
cmp ecx, 2
jne 0x4594a8
cmp dword [edx + 0x424], 0xffffffff
mov eax, ebp
mov ebp, 0x498
cmovne eax, ebp
cmp dword [eax + edx], ecx
je 0x4594a8
mov ebp, dword [ebx + 0x8f8]
jmp 0x4594ae
mov ebp, dword [ebx + 0x88c]
cmp ecx, 2
jne 0x4594d1
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x14]
cmp dword [eax + edx], ecx
je 0x4594d1
mov ebx, dword [ebx + 0x8fc]
jmp 0x4594d7
mov ebx, dword [ebx + 0x890]
mov dword [esp + 0x20], ebx
cmp ecx, 2
jne 0x4594fe
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x14]
cmp dword [eax + edx], ecx
je 0x4594fe
mov eax, dword [edx + 0x4e8]
jmp 0x459504
mov eax, dword [edx + 0x4b8]
mov dword [esp + 0x2c], eax
cmp ecx, 2
jne 0x45952b
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x14]
cmp dword [eax + edx], ecx
je 0x45952b
mov eax, dword [edx + 0x4e4]
jmp 0x459531
mov eax, dword [edx + 0x4b4]
mov dword [esp + 0x38], eax
cmp ecx, 2
jne 0x459558
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, dword [esp + 0x14]
cmp dword [eax + edx], ecx
je 0x459558
mov al, byte [edx + 0x508]
jmp 0x45955e
mov al, byte [edx + 0x4d8]
movzx eax, al
mov dword [esp + 0x3c], eax
cmp ecx, 2
jne 0x459590
cmp dword [edx + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + edx], 2
je 0x459590
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x8e0]
jmp 0x45959a
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.004578c0
add esp, 4
test eax, eax
jne 0x45a2e1
mov dword [esi], 1
cmp edi, 7
ja case.default.0x4595d1
jmp dword [edi*4 + 0x45a2fc]
call fcn.0054c820
mov esi, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x4595f2
push ecx
call fcn.00543850
add esp, 4
push esi
call fcn.00543a40
mov esi, dword [esp + 0x18]
add esp, 4
mov dword [esi], eax
test eax, eax
jne 0x459675
call fcn.004895b0
mov esi, eax
mov byte [esp + 0x74], 0
push 0x100
lea eax, [esp + 0x78]
push eax
push esi
call fcn.004890e0
add esp, 0xc
cmp byte [esp + 0x74], 0
jne 0x459655
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.005b0a50
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.00445020
add esp, 0xc
mov eax, 0x1b
jmp 0x45a2e1
push 0
push 0x10
push 0x21
push eax
call fcn.005434c0
mov edx, dword [esp + 0x20]
add esp, 0x10
cmp dword [edx + 0x600], 0
je 0x4596c1
cmp byte [edx + 0xb42], 0
je 0x4596c1
push 0x45baa0
push dword [esi]
call fcn.00543f30
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push esi
push 0
push 0x10
push dword [eax]
call fcn.005434c0
mov edx, dword [esp + 0x28]
add esp, 0x18
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x358], 2
jne 0x4596f0
cmp dword [ecx + 0x424], 0xffffffff
mov eax, 0x488
mov esi, 0x498
cmovne eax, esi
cmp dword [eax + ecx], 2
je 0x4596f0
mov al, byte [edx + 0x912]
jmp 0x4596f6
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 + 0x45a31c]
mov edi, dword [esp + 0x14]
push 0
push 2
push 0x7b
push dword [edi]
call fcn.005434c0
push 0
push 2
push 0x7c
push dword [edi]
call fcn.005434c0
add esp, 0x20
jmp 0x45977a
mov edi, dword [esp + 0x14]
or esi, 0x2000000
push ecx
push dword [edi]
call fcn.0045b790
add esp, 8
test eax, eax
jne 0x45a2e1
push esi
push dword [edi]
call fcn.00543f80
mov esi, dword [esp + 0x20]
add esp, 8
cmp byte [esi + 0x52a], 0
je 0x4597a2
push esi
push 0x45aeb0
push dword [edi]
call fcn.00543f40
add esp, 0xc
cmp byte [esi + 0x52b], 0
mov esi, dword [esp + 0x10]
je 0x4597f3
mov eax, dword [str.http_1.1]
push str.http_1.1
mov dword [esp + 0x179], eax
mov eax, dword [0x5d4814]
push str.ALPN__offering__s_n
push esi
mov byte [esp + 0x180], 8
mov dword [esp + 0x185], eax
call fcn.00445100
push 9
lea eax, [esp + 0x184]
push eax
push dword [edi]
call fcn.00543df0
add esp, 0x18
cmp dword [esp + 0x1c], 0
jne 0x459806
test ebp, ebp
jne 0x459806
test ebx, ebx
je 0x4599a7
xor ebx, ebx
xor edi, edi
test ebp, ebp
je 0x459826
push dword [ebp + 4]
push dword [ebp]
call fcn.0047b6f0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x45999d
mov ebp, dword [esp + 0x18]
mov ecx, 0x498
mov edx, dword [ebp + 0x358]
cmp edx, 2
jne 0x459856
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, ecx
cmp dword [eax + ebp], edx
je 0x459856
mov eax, dword [esi + 0x904]
jmp 0x45985c
mov eax, dword [esi + 0x898]
test eax, eax
je 0x4598cb
cmp edx, 2
jne 0x459881
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, ecx
cmp dword [eax + ebp], edx
je 0x459881
mov ecx, dword [esi + 0x904]
jmp 0x459887
mov ecx, dword [esi + 0x898]
cmp edx, 2
jne 0x4598ae
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
mov edx, 0x498
cmovne eax, edx
cmp dword [eax + ebp], 2
je 0x4598ae
mov eax, dword [esi + 0x904]
jmp 0x4598b4
mov eax, dword [esi + 0x898]
push dword [ecx + 4]
push dword [eax]
call fcn.0047b6f0
mov edi, eax
add esp, 8
test edi, edi
je 0x45999d
mov ecx, dword [ebp + 0x358]
mov edx, 0x498
cmp ecx, 2
jne 0x4598f7
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, edx
cmp dword [eax + ebp], ecx
je 0x4598f7
mov esi, dword [esi + 0x90c]
jmp 0x4598fd
mov esi, dword [esi + 0x8a0]
cmp ecx, 2
jne 0x459922
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
cmovne eax, edx
cmp dword [eax + ebp], ecx
je 0x459922
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x908]
jmp 0x45992c
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x89c]
cmp ecx, 2
jne 0x459957
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebp], 2
je 0x459957
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x900]
jmp 0x459961
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.00457eb0
add esp, 0x24
mov esi, eax
test ebx, ebx
je 0x45998c
push ebx
call fcn.0047a680
add esp, 4
test edi, edi
je 0x459999
push edi
call fcn.0047a680
add esp, 4
test esi, esi
jne 0x4599ad
mov eax, 0x3a
jmp 0x45a2e1
mov ebp, dword [esp + 0x18]
jmp 0x4599b1
mov edi, dword [esp + 0x14]
cmp dword [ebp + 0x358], 2
jne 0x4599dc
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebp], 2
je 0x4599dc
mov esi, dword [ebp + 0x4f8]
jmp 0x4599e2
mov esi, dword [ebp + 0x4c8]
test esi, esi
je 0x459a25
push esi
push dword [edi]
call fcn.00543ea0
add esp, 8
push esi
test eax, eax
jne 0x459a11
push str.failed_setting_cipher_list:__s
push dword [esp + 0x18]
call fcn.00445020
add esp, 0xc
mov eax, 0x3b
jmp 0x45a2e1
mov ebx, dword [esp + 0x14]
push str.Cipher_selection:__s_n
push ebx
call fcn.00445100
add esp, 0xc
jmp 0x459a29
mov ebx, dword [esp + 0x10]
cmp dword [ebp + 0x358], 2
jne 0x459a54
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebp], 2
je 0x459a54
mov esi, dword [ebp + 0x4fc]
jmp 0x459a5a
mov esi, dword [ebp + 0x4cc]
test esi, esi
je 0x459a94
push esi
push dword [edi]
call fcn.005495d0
add esp, 8
push esi
test eax, eax
jne 0x459a86
push str.failed_setting_TLS_1.3_cipher_suite:__s
push ebx
call fcn.00445020
add esp, 0xc
mov eax, 0x3b
jmp 0x45a2e1
push str.TLS_1.3_cipher_selection:__s_n
push ebx
call fcn.00445100
add esp, 0xc
push 1
push dword [edi]
call fcn.00543fa0
mov ecx, dword [ebp + 0x358]
mov edx, 0x488
add esp, 8
lea esi, [edx + 0x10]
cmp ecx, 2
jne 0x459acc
cmp dword [ebp + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebp], ecx
je 0x459acc
mov al, byte [ebp + 0x508]
jmp 0x459ad2
mov al, byte [ebp + 0x4d8]
test al, al
jne 0x459b02
cmp ecx, 2
jne 0x459af4
cmp dword [ebp + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebp], ecx
je 0x459af4
mov al, byte [ebp + 0x509]
jmp 0x459afa
mov al, byte [ebp + 0x4d9]
test al, al
je 0x459d86
cmp ecx, 2
jne 0x459b20
cmp dword [ebp + 0x424], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebp], ecx
je 0x459b20
mov al, byte [ebx + 0x916]
jmp 0x459b26
mov al, byte [ebx + 0x8aa]
test al, al
je 0x459d86
push dword [edi]
call fcn.004b28c0
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 0x459d78
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 0x459d42
nop dword [eax + eax]
mov eax, dword [edi + 4]
mov dword [esp + 0x50], eax
test eax, eax
je 0x459cc4
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 0x459cc4
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 0x459cc4
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 0x459bf1
test byte [esp + 0x10], 4
je 0x459cc4
jmp 0x459bff
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x459cc4
lea eax, [esp + 0x20]
push eax
push 0
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertGetEnhancedKeyUsage]
test eax, eax
je 0x459cc4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x459c46
cmp eax, dword [esp + 0x48]
jbe 0x459c46
push eax
push esi
call dword [0x65c03c]
add esp, 8
test eax, eax
je 0x459d2c
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 0x459cc4
mov eax, dword [esi]
test eax, eax
jne 0x459c6e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80092004
jne 0x459cc4
jmp 0x459ce3
xor edi, edi
test eax, eax
je 0x459d26
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 0x459ca7
test dl, dl
je 0x459ca3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x459ca7
add eax, 2
add ecx, 2
test dl, dl
jne 0x459c87
xor eax, eax
jmp 0x459cac
sbb eax, eax
or eax, 1
test eax, eax
je 0x459cdf
mov eax, dword [esp + 0x18]
inc edi
add esi, 4
cmp edi, dword [eax]
jb 0x459c80
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 0x459b80
jmp 0x459d42
mov edi, dword [esp + 0x1c]
push dword [edi + 8]
lea eax, [esp + 0x54]
push eax
push 0
call fcn.00484d50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x459cc0
push esi
push dword [esp + 0x58]
call fcn.00483710
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.00484cd0
add esp, 0xc
jmp 0x459cc0
mov edi, dword [esp + 0x1c]
jmp 0x459cc4
push str.SSL:_Out_of_memory_allocating_for_OID_list
push ebx
call fcn.00445020
add esp, 8
mov dword [esp + 0x34], 0x1b
push esi
call dword [0x65c038]
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 0x45a2e1
cmp byte [esp + 0x28], al
je 0x459d78
push str.successfully_imported_windows_ca_store_n
jmp 0x459d7d
push str.error_importing_windows_ca_store__continuing_anyway_n
push ebx
call fcn.00445100
add esp, 8
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x38]
test eax, eax
jne 0x459d9a
test esi, esi
je 0x459e25
mov edi, dword [esp + 0x14]
push esi
push eax
push dword [edi]
call fcn.00543a20
add esp, 0xc
test eax, eax
jne 0x459df0
cmp dword [esp + 0x3c], eax
je 0x459de9
cmp byte [esp + 0x28], al
jne 0x459de9
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.00445020
add esp, 0x10
mov eax, 0x4d
jmp 0x45a2e1
push str.error_setting_certificate_verify_locations__continuing_anyway:_n
jmp 0x459df5
push str.successfully_set_certificate_verify_locations:_n
push ebx
call fcn.00445100
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.00445100
add esp, 0x10
jmp 0x459e29
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
test esi, esi
je 0x459e91
call fcn.00483df0
push eax
push dword [edi]
call fcn.004b28c0
add esp, 4
push eax
call fcn.00483790
add esp, 8
test eax, eax
je 0x459edf
push 1
push esi
push eax
call fcn.00484070
add esp, 0xc
test eax, eax
je 0x459edf
push str.successfully_load_CRL_file:_n
push ebx
call fcn.00445100
add esp, 8
push 0xc
push dword [edi]
call fcn.004b28c0
add esp, 4
push eax
call fcn.00483a90
push esi
push str.__CRLfile:__s_n
push ebx
call fcn.00445100
add esp, 0x14
cmp dword [esp + 0x3c], 0
je 0x459f1e
push 0x8000
push dword [edi]
call fcn.004b28c0
add esp, 4
push eax
call fcn.00483a90
add esp, 8
cmp dword [ebp + 0x358], 2
jne 0x459ef8
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x488
mov ecx, 0x498
cmovne eax, ecx
cmp dword [eax + ebp], 2
je 0x459ef8
mov al, byte [ebx + 0x914]
jmp 0x459efe
push esi
push str.error_loading_CRL_file:__s
push ebx
call fcn.00445020
add esp, 0xc
mov eax, 0x52
jmp 0x45a2e1
mov al, byte [ebx + 0x8a8]
test al, al
jne 0x459f1e
test esi, esi
jne 0x459f1e
push 0x80000
push dword [edi]
call fcn.004b28c0
add esp, 4
push eax
call fcn.00483a90
add esp, 8
xor eax, eax
cmp dword [esp + 0x3c], eax
push 0
setne al
push eax
push dword [edi]
call fcn.00543fb0
add esp, 0xc
call fcn.00474320
test al, al
je 0x459f4c
push 0x45a7a0
push dword [edi]
call fcn.00543f20
add esp, 8
push 0
push 0x301
push 0x2c
push dword [edi]
call fcn.005434c0
push 0x45a7b0
push dword [edi]
call fcn.00547d30
add esp, 0x18
cmp dword [ebx + 0x880], 0
je 0x459fb0
push 1
push ebx
call fcn.004365c0
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.004365c0
add esp, 0x1c
test esi, esi
je 0x459fb0
push str.error_signaled_by_ssl_ctx_callback
push ebx
call fcn.00445020
mov eax, esi
jmp 0x45a2de
mov eax, dword [edi + 4]
test eax, eax
je 0x459fc0
push eax
call fcn.005449e0
add esp, 4
push dword [edi]
call fcn.005451c0
mov ecx, eax
add esp, 4
mov dword [edi + 4], ecx
test ecx, ecx
jne 0x459fe8
push str.SSL:_couldnt_create_a_context__handle__
push ebx
call fcn.00445020
mov eax, 0x1b
jmp 0x45a2de
cmp dword [ebp + 0x358], 2
mov esi, 0x488
jne 0x45a015
cmp dword [ebp + 0x424], 0xffffffff
mov eax, esi
mov edx, 0x498
cmovne eax, edx
cmp dword [eax + ebp], 2
je 0x45a015
mov al, byte [ebp + 0x50a]
jmp 0x45a01b
mov al, byte [ebp + 0x4da]
test al, al
je 0x45a02e
push 0
push 1
push 0x41
push ecx
call fcn.00544300
add esp, 0x10
push dword [edi + 4]
call fcn.00545a40
lea eax, [esp + 0x68]
mov dword [edi + 8], 0
push eax
push dword [esp + 0x38]
push 2
call fcn.00455d10
add esp, 0x10
test eax, eax
jne 0x45a08f
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x34]
push 0x17
call fcn.00455d10
add esp, 0xc
test eax, eax
jne 0x45a08f
push dword [esp + 0x30]
push eax
push 0x37
push dword [edi + 4]
call fcn.00544300
add esp, 0x10
test eax, eax
jne 0x45a08f
push str.WARNING:_failed_to_configure_server_name_indication__SNI__TLS_extension_n
push ebx
call fcn.00445100
add esp, 8
cmp dword [ebp + 0x358], 2
jne 0x45a0b5
cmp dword [ebp + 0x424], 0xffffffff
mov eax, 0x498
cmovne esi, eax
cmp dword [esi + ebp], 2
je 0x45a0b5
mov al, byte [ebx + 0x8db]
jmp 0x45a0bb
mov al, byte [ebx + 0x86f]
test al, al
je 0x45a1ce
mov dword [esp + 0x24], 0
call fcn.0045a740
mov edi, eax
call fcn.0045a770
mov esi, eax
test edi, edi
js 0x45a10b
test esi, esi
js 0x45a10b
push ebp
push edi
mov edi, dword [esp + 0x1c]
push dword [edi + 4]
call fcn.00545b20
mov eax, dword [esp + 0x4c]
lea eax, [eax*4 + 0x420]
add eax, ebp
push eax
push esi
push dword [edi + 4]
call fcn.00545b20
add esp, 0x18
jmp 0x45a10f
mov edi, dword [esp + 0x14]
push ebp
call fcn.0043f780
push dword [esp + 0x44]
lea eax, [esp + 0x2c]
push 0
push eax
push ebp
call fcn.0043f3c0
add esp, 0x14
test al, al
jne 0x45a1c5
push dword [esp + 0x24]
push dword [edi + 4]
call fcn.00548110
add esp, 8
test eax, eax
jne 0x45a1b7
push ebp
call fcn.0043f7b0
call fcn.004892c0
mov esi, eax
mov byte [esp + 0x78], 0
push 0x100
lea eax, [esp + 0x7c]
push eax
push esi
call fcn.004890e0
add esp, 0x10
cmp byte [esp + 0x74], 0
jne 0x45a19a
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.005b0a50
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.00445020
add esp, 0xc
mov eax, 0x23
jmp 0x45a2e1
push str.SSL_re_using_session_ID_n
push ebx
call fcn.00445100
add esp, 8
push ebp
call fcn.0043f7b0
add esp, 4
mov eax, dword [esp + 0x44]
cmp byte [eax + 0x494], 0
je 0x45a224
call fcn.00549520
push eax
call fcn.0047ab10
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.0047a570
push esi
push esi
push dword [edi + 4]
call fcn.005458b0
add esp, 0x20
mov eax, dword [esp + 0x44]
mov dword [eax + 0x46c], 1
xor eax, eax
jmp 0x45a2e1
push dword [esp + 0x58]
push dword [edi + 4]
call fcn.00545b30
add esp, 8
test eax, eax
jne 0x45a20f
call fcn.004892c0
mov esi, eax
mov byte [esp + 0x74], 0
push 0x100
lea eax, [esp + 0x78]
push eax
push esi
call fcn.004890e0
add esp, 0xc
cmp byte [esp + 0x74], 0
jne 0x45a287
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.005b0a50
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.00445020
add esp, 0xc
mov eax, 0x23
jmp 0x45a2e1
push str.OpenSSL_was_built_without_SSLv2_support
push dword [esp + 0x14]
call fcn.00445020
mov eax, 4
jmp 0x45a2de
push str.OpenSSL_was_built_without_SSLv3_support
push dword [esp + 0x14]
call fcn.00445020
mov eax, 4
jmp 0x45a2de
push str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
push dword [esp + 0x14]
call fcn.00445020
mov eax, 0x23
add esp, 8
mov ecx, dword [esp + 0x1f4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005846b2
add esp, 0x1e8
ret