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

Disassembly:
sub esp, 0x1f8
mov eax, dword [0x6f1114]
xor eax, esp
mov dword [esp + 0x1f4], eax
mov edx, dword [esp + 0x200]
mov eax, dword [esp + 0x204]
push ebx
push ebp
mov dword [esp + 0x50], eax
lea ebp, [edx + 0x154]
mov ecx, dword [edx + eax*4 + 0x150]
mov ebx, 0x1b8
push esi
shl eax, 4
mov esi, 0x1c8
mov dword [esp + 0x64], ecx
add eax, edx
mov ecx, dword [edx + 0xb8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x10], ebp
mov dword [esp + 0x44], esi
push edi
mov edi, dword [esp + 0x20c]
mov dword [esp + 0x24], edi
cmp ecx, 2
jne 0x4fe898
cmp dword [ebp], 0xffffffff
mov eax, ebx
cmovne eax, esi
cmp dword [eax + edx], ecx
je 0x4fe898
mov eax, dword [edx + 0xac]
mov esi, dword [edx + 0x21c]
mov dword [esp + 0x44], eax
jmp 0x4fe8ae
mov eax, dword [edx + 0x64]
mov esi, dword [edx + 0x1dc]
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], ebp
cmp ecx, 2
jne 0x4fe8e3
cmp dword [ebp], 0xffffffff
mov eax, ebx
mov ebx, 0x1c8
cmovne eax, ebx
cmp dword [eax + edx], 2
je 0x4fe8e3
mov eax, dword [edx + 0x248]
mov ebx, dword [edi + 0x46c]
mov ebp, dword [edi + 0x480]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x4a4]
jmp 0x4fe997
mov ebx, dword [edi + 0x404]
cmp ecx, 2
jne 0x4fe91c
cmp dword [ebp], 0xffffffff
mov eax, 0x1b8
mov ebp, 0x1c8
cmovne eax, ebp
cmp dword [eax + edx], ecx
je 0x4fe91c
mov eax, dword [edx + 0x248]
mov ebp, dword [edi + 0x480]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x4a4]
jmp 0x4fe997
mov ebp, dword [edi + 0x418]
cmp ecx, 2
jne 0x4fe956
mov edi, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [edi], 0xffffffff
mov edi, 0x1c8
cmovne eax, edi
mov edi, dword [esp + 0x24]
cmp dword [eax + edx], ecx
je 0x4fe956
mov eax, dword [edx + 0x248]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x4a4]
jmp 0x4fe997
mov eax, dword [edx + 0x208]
mov dword [esp + 0x2c], eax
cmp ecx, 2
jne 0x4fe98d
mov ecx, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [ecx], 0xffffffff
mov ecx, 0x1c8
cmovne eax, ecx
mov ecx, dword [edx + 0xb8]
cmp dword [eax + edx], 2
je 0x4fe991
mov eax, dword [edi + 0x4a4]
jmp 0x4fe997
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x43c]
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x30], eax
je 0x4fe9a6
xor eax, eax
jmp 0x4fe9f7
cmp ecx, 2
jne 0x4fe9f1
mov edi, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [edi], 0xffffffff
mov edi, 0x1c8
cmovne eax, edi
mov edi, dword [esp + 0x24]
cmp dword [eax + edx], ecx
je 0x4fe9f1
mov eax, dword [edx + 0x228]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x224]
mov dword [esp + 0x1c], eax
mov al, byte [edx + 0x255]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0x47c]
jmp 0x4fead9
mov eax, dword [edx + 0x1e8]
mov dword [esp + 0x20], eax
cmp ecx, 2
jne 0x4fea40
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov eax, 0x1b8
cmp dword [edi], 0xffffffff
mov edi, 0x1c8
cmovne eax, edi
mov edi, dword [esp + 0x24]
cmp dword [eax + edx], ecx
je 0x4fea40
mov eax, dword [edx + 0x224]
mov dword [esp + 0x1c], eax
mov al, byte [edx + 0x255]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0x47c]
jmp 0x4fead9
mov eax, dword [edx + 0x1e4]
mov dword [esp + 0x1c], eax
cmp ecx, 2
jne 0x4fea86
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, 0x1b8
cmp dword [edi], 0xffffffff
mov edi, 0x1c8
cmovne eax, edi
mov edi, dword [esp + 0x24]
cmp dword [eax + edx], ecx
je 0x4fea8a
mov al, byte [edx + 0x255]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0x47c]
jmp 0x4fead9
mov dword [esp + 0x1c], eax
mov al, byte [edx + 0x215]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x1c]
cmp ecx, 2
jne 0x4feacb
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, 0x1b8
cmp dword [ecx], 0xffffffff
mov ecx, 0x1c8
cmovne eax, ecx
cmp dword [eax + edx], 2
je 0x4fead3
mov eax, dword [edi + 0x47c]
jmp 0x4fead9
mov al, byte [esp + 0x13]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0x414]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x40], 0
mov eax, dword [eax + 0x1a0]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x70]
test eax, eax
je 0x4feb00
cmp byte [eax + 0xe4], 0
jne 0x4feb1f
call fcn.00577ce0
test eax, eax
je 0x4ffb38
mov eax, dword [edi + 0x70]
mov edx, dword [esp + 0x18]
test eax, eax
je 0x4feb1f
mov byte [eax + 0xe4], 1
cmp dword [edx + 0xb8], 2
jne 0x4feb48
mov ecx, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [ecx], 0xffffffff
mov ecx, 0x1c8
cmovne eax, ecx
cmp dword [eax + edx], 2
lea eax, [edi + 0x498]
jne 0x4feb4e
lea eax, [edi + 0x430]
mov dword [eax], 1
cmp esi, 7
ja case.default.0x4feb5d
jmp dword [esi*4 + 0x4ffb64]
call fcn.00539990
push eax
call fcn.00530470
mov ecx, dword [esp + 0x2c]
add esp, 4
mov dword [ecx + 4], eax
test eax, eax
jne 0x4febf9
call fcn.0057a750
mov esi, eax
mov byte [esp + 0x84], 0
push 0x100
lea eax, [esp + 0x88]
push eax
push esi
call fcn.0057a080
add esp, 0xc
cmp byte [esp + 0x84], 0
jne 0x4febd9
mov ecx, 0x6666c4
test esi, esi
mov eax, 0x6666b4
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.0052fa80
add esp, 0xc
mov byte [esp + 0x183], 0
lea eax, [esp + 0x84]
push eax
push str.SSL:_couldnt_create_a_context:__s
push edi
call fcn.004f8a30
add esp, 0xc
mov eax, 0x1b
jmp 0x4ffb4b
push 0
push 0x10
push 0x21
push eax
call fcn.0052ff00
add esp, 0x10
cmp dword [edi + 0x1a8], 0
je 0x4fec4e
cmp byte [edi + 0x6f9], 0
je 0x4fec4e
mov eax, dword [esp + 0x28]
push 0x500660
push dword [eax + 4]
call fcn.00530a00
push dword [esp + 0x20]
mov eax, dword [esp + 0x34]
push 0
push 0x10
push dword [eax + 4]
call fcn.0052ff00
mov eax, dword [esp + 0x30]
add esp, 0x18
mov eax, dword [eax + 0x1a0]
mov dword [eax], edi
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0xb8]
cmp edx, 2
jne 0x4fec82
mov ecx, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [ecx], 0xffffffff
mov ecx, 0x1c8
cmovne eax, ecx
mov ecx, dword [esp + 0x18]
cmp dword [eax + ecx], edx
je 0x4fec82
mov cl, byte [edi + 0x4ba]
jmp 0x4fec88
mov cl, byte [edi + 0x452]
movzx eax, byte [esi + 0x4ffb8c]
jmp dword [eax*4 + 0x4ffb84]
test cl, cl
mov eax, 0x82024854
mov esi, 0x82024054
cmovne esi, eax
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 4]
cmp edx, 2
jne 0x4fecd6
mov ecx, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [ecx], 0xffffffff
mov ecx, 0x1c8
cmovne eax, ecx
mov ecx, dword [esp + 0x18]
cmp dword [eax + ecx], edx
je 0x4fecda
mov ecx, dword [ecx + 0x21c]
jmp 0x4fece0
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x1dc]
lea edx, [ecx - 1]
xor eax, eax
cmp edx, 6
ja case.0x4fecea.2
jmp dword [edx*4 + 0x4ffb94]
mov eax, 0x301
test ecx, ecx
je 0x4fed10
push 0
push eax
push 0x7b
push edi
call fcn.0052ff00
add esp, 0x10
test eax, eax
je 0x4ffb46
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0xb8], 2
jne 0x4fed54
mov edx, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [edx], 0xffffffff
mov edx, 0x1c8
cmovne eax, edx
cmp dword [eax + ecx], 2
je 0x4fed54
mov eax, dword [ecx + 0x220]
jmp 0x4fed5a
mov eax, 0x302
jmp 0x4fecfa
mov eax, 0x303
jmp 0x4fecfa
mov eax, 0x304
jmp 0x4fecfa
mov eax, dword [ecx + 0x1e0]
cmp eax, 0x50000
jg 0x4fed83
je 0x4fed7c
test eax, eax
je 0x4fed91
cmp eax, 0x10000
je 0x4fed91
cmp eax, 0x40000
jne 0x4fed91
mov eax, 0x301
jmp 0x4feda1
mov eax, 0x302
jmp 0x4feda1
cmp eax, 0x60000
je 0x4fed9c
cmp eax, 0x70000
je 0x4fed95
xor eax, eax
jmp 0x4feda1
mov eax, 0x304
jmp 0x4feda1
mov eax, 0x303
push 0
push eax
push 0x7c
push edi
call fcn.0052ff00
add esp, 0x10
test eax, eax
je 0x4ffb46
push esi
mov esi, dword [esp + 0x2c]
push dword [esi + 4]
call fcn.00530a50
mov ecx, dword [esp + 0x20]
add esp, 8
mov edi, dword [esp + 0x24]
cmp byte [ecx + 0x27a], 0
je 0x4feded
push edi
push 0x500c00
push dword [esi + 4]
call fcn.00530a10
mov ecx, dword [esp + 0x24]
add esp, 0xc
cmp byte [ecx + 0x27b], 0
je 0x4fee4b
push str.http_1.1
push str.ALPN:_offers__s
push edi
mov byte [esp + 0x190], 8
mov dword [esp + 0x191], 0x70747468
mov dword [esp + 0x195], 0x312e312f
call fcn.004f8b00
push 9
lea eax, [esp + 0x194]
push eax
push dword [esi + 4]
call fcn.00530810
add esp, 0x18
test eax, eax
je 0x4fee47
push str.Error_setting_ALPN
jmp 0x4ffb3d
mov ecx, dword [esp + 0x18]
test ebx, ebx
jne 0x4fee5d
test ebp, ebp
jne 0x4fee5d
cmp dword [esp + 0x30], ebp
je 0x4fef6b
mov edx, dword [ecx + 0xb8]
cmp edx, 2
jne 0x4fee9f
mov esi, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [esi], 0xffffffff
mov esi, 0x1c8
cmovne eax, esi
cmp dword [eax + ecx], edx
je 0x4fee9f
mov eax, dword [esp + 0x44]
mov esi, dword [edi + 0x4b4]
mov edi, dword [edi + 0x4b0]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
jmp 0x4feeb0
mov esi, dword [edi + 0x44c]
mov edi, dword [edi + 0x448]
cmp edx, 2
jne 0x4feee0
mov ecx, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [ecx], 0xffffffff
mov ecx, 0x1c8
cmovne eax, ecx
mov ecx, dword [esp + 0x18]
cmp dword [eax + ecx], 2
je 0x4feee0
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x4ac]
mov eax, dword [eax + 0x4a8]
jmp 0x4fef1f
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x444]
cmp edx, 2
jne 0x4fef19
mov edx, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [edx], 0xffffffff
mov edx, 0x1c8
cmovne eax, edx
mov edx, dword [esp + 0x18]
cmp dword [eax + edx], 2
mov eax, dword [esp + 0x24]
je 0x4fef19
mov eax, dword [eax + 0x4a8]
jmp 0x4fef1f
mov eax, dword [eax + 0x440]
mov dl, byte [esp + 0x13]
push esi
push edi
mov edi, dword [esp + 0x2c]
push ecx
push eax
push dword [esp + 0x40]
mov byte [esp + 0x27], dl
mov edx, dword [esp + 0x30]
push ebp
mov ebp, dword [esp + 0x40]
push ebx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x3c]
push dword [ebp + 4]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x4c]
push edi
mov dword [esp + 0x50], edx
call fcn.004fcdb0
add esp, 0x24
test eax, eax
jne 0x4fef6d
mov eax, 0x3a
jmp 0x4ffb4b
mov ebp, esi
mov ebx, dword [esp + 0x18]
cmp dword [ebx + 0xb8], 2
jne 0x4fef9c
mov ecx, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [ecx], 0xffffffff
mov ecx, 0x1c8
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x4fef9c
mov esi, dword [ebx + 0x234]
jmp 0x4fefa2
mov esi, dword [ebx + 0x1f4]
test esi, esi
je 0x4fefdd
push esi
push dword [ebp + 4]
call fcn.00530930
add esp, 8
push esi
test eax, eax
jne 0x4fefcf
push str.failed_setting_cipher_list:__s
push edi
call fcn.004f8a30
add esp, 0xc
mov eax, 0x3b
jmp 0x4ffb4b
push str.Cipher_selection:__s
push edi
call fcn.004f8b00
add esp, 0xc
cmp dword [ebx + 0xb8], 2
jne 0x4ff008
mov ecx, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [ecx], 0xffffffff
mov ecx, 0x1c8
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x4ff008
mov esi, dword [ebx + 0x238]
jmp 0x4ff00e
mov esi, dword [ebx + 0x1f8]
test esi, esi
je 0x4ff049
push esi
push dword [ebp + 4]
call fcn.00536720
add esp, 8
push esi
test eax, eax
jne 0x4ff03b
push str.failed_setting_TLS_1.3_cipher_suite:__s
push edi
call fcn.004f8a30
add esp, 0xc
mov eax, 0x3b
jmp 0x4ffb4b
push str.TLS_1.3_cipher_selection:__s
push edi
call fcn.004f8b00
add esp, 0xc
push 1
push dword [ebp + 4]
call fcn.00530a70
add esp, 8
cmp dword [ebx + 0xb8], 2
jne 0x4ff081
mov ecx, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [ecx], 0xffffffff
mov ecx, 0x1c8
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x4ff081
mov esi, dword [ebx + 0x250]
jmp 0x4ff087
mov esi, dword [ebx + 0x210]
test esi, esi
je 0x4ff0b8
push esi
push 0
push 0x5c
push dword [ebp + 4]
call fcn.0052ff00
add esp, 0x10
test eax, eax
jne 0x4ff0b8
push esi
push str.failed_setting_curves_list:__s
push edi
call fcn.004f8a30
add esp, 0xc
mov eax, 0x3b
jmp 0x4ffb4b
mov ecx, dword [ebx + 0xb8]
mov esi, 0x1b8
mov edx, dword [esp + 0x14]
cmp ecx, 2
jne 0x4ff0e3
cmp dword [edx], 0xffffffff
mov eax, esi
cmovne eax, dword [esp + 0x48]
cmp dword [eax + ebx], ecx
je 0x4ff0e3
mov al, byte [ebx + 0x255]
jmp 0x4ff0e9
mov al, byte [ebx + 0x215]
test al, al
jne 0x4ff117
cmp ecx, 2
jne 0x4ff109
cmp dword [edx], 0xffffffff
mov eax, esi
cmovne eax, dword [esp + 0x48]
cmp dword [eax + ebx], ecx
je 0x4ff109
mov al, byte [ebx + 0x256]
jmp 0x4ff10f
mov al, byte [ebx + 0x216]
test al, al
je 0x4ff3f0
cmp ecx, 2
jne 0x4ff137
cmp dword [edx], 0xffffffff
mov eax, esi
mov ecx, 0x1c8
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x4ff137
mov al, byte [edi + 0x4be]
jmp 0x4ff13d
mov al, byte [edi + 0x456]
test al, al
je 0x4ff3f0
push dword [ebp + 4]
call fcn.00530420
add esp, 4
mov dword [esp + 0x54], eax
push str.ROOT
push 0
call dword [sym.imp.CRYPT32.dll_CertOpenSystemStoreA]
mov dword [esp + 0x34], eax
test eax, eax
je 0x4ff3e2
xor ebp, ebp
push ebp
push eax
mov dword [esp + 0x44], ebp
mov dword [esp + 0x58], ebp
call dword [sym.imp.CRYPT32.dll_CertEnumCertificatesInStore]
mov ebx, eax
mov dword [esp + 0x30], ebx
test ebx, ebx
je 0x4ff2ee
nop dword [eax]
mov eax, dword [ebx + 4]
mov esi, ebp
mov dword [esp + 0x64], eax
test eax, eax
je 0x4ff2d5
lea eax, [esp + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea eax, [esp + 0x6c]
push eax
mov eax, dword [ebx + 0xc]
add eax, 0x20
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jg 0x4ff2d5
mov eax, dword [ebx + 0xc]
add eax, 0x28
push eax
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jg 0x4ff2d5
push 2
lea eax, [esp + 0x50]
push eax
push dword [ebx + 0xc]
push dword [ebx]
call dword [sym.imp.CRYPT32.dll_CertGetIntendedKeyUsage]
test eax, eax
je 0x4ff203
test byte [esp + 0x4c], 4
je 0x4ff2d5
jmp 0x4ff211
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4ff2d5
lea eax, [esp + 0x48]
push eax
push 0
push 0
push ebx
call dword [sym.imp.CRYPT32.dll_CertGetEnhancedKeyUsage]
test eax, eax
je 0x4ff2d5
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4ff258
cmp eax, dword [esp + 0x50]
jbe 0x4ff258
push eax
push ebp
call dword [0x6f1bac]
mov ebp, eax
add esp, 8
mov dword [esp + 0x3c], ebp
test ebp, ebp
je 0x4ff3b0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x48]
push eax
push ebp
push 0
push ebx
call dword [sym.imp.CRYPT32.dll_CertGetEnhancedKeyUsage]
test eax, eax
je 0x4ff2d5
mov ebp, dword [ebp]
test ebp, ebp
jne 0x4ff284
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80092004
jne 0x4ff2d1
jmp 0x4ff366
xor ebx, ebx
test ebp, ebp
je 0x4ff2cd
mov esi, dword [esp + 0x3c]
mov esi, dword [esi + 4]
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 0x4ff2b8
test dl, dl
je 0x4ff2b4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ff2b8
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ff298
xor eax, eax
jmp 0x4ff2bd
sbb eax, eax
or eax, 1
test eax, eax
je 0x4ff362
inc ebx
add esi, 4
cmp ebx, ebp
jb 0x4ff291
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x3c]
push ebx
push dword [esp + 0x38]
call dword [sym.imp.CRYPT32.dll_CertEnumCertificatesInStore]
mov ebx, eax
mov dword [esp + 0x30], ebx
test ebx, ebx
jne 0x4ff190
mov eax, dword [esp + 0x2c]
mov bh, byte [esp + 0x13]
mov esi, dword [esp + 0x20]
mov bl, byte [esp + 0x40]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
push ebp
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], eax
mov byte [esp + 0x17], bh
call dword [0x6f1ba8]
add esp, 4
push dword [esp + 0x30]
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
push 0
push dword [esp + 0x38]
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov byte [esp + 0x40], bl
test bl, bl
je 0x4ff3e2
push str.successfully_imported_Windows_CA_store
push edi
call fcn.004f8b00
mov byte [esp + 0x48], bl
mov byte [esp + 0x1b], bh
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], esi
jmp 0x4ff3ed
mov ebx, dword [esp + 0x30]
push dword [ebx + 8]
lea eax, [esp + 0x68]
push eax
push 0
call fcn.00575f20
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4ff2d1
push esi
push dword [esp + 0x58]
call fcn.00574700
mov ecx, dword [esp + 0x48]
cmp eax, 1
movzx ecx, cl
mov eax, 1
cmove ecx, eax
push esi
mov dword [esp + 0x4c], ecx
call fcn.00575ea0
add esp, 0xc
jmp 0x4ff2d1
push str.SSL:_Out_of_memory_allocating_for_OID_list
push edi
call fcn.004f8a30
push esi
call dword [0x6f1ba8]
add esp, 0xc
push ebx
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
push 0
push dword [esp + 0x38]
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, 0x1b
jmp 0x4ffb4b
push str.error_importing_Windows_CA_store__continuing_anyway
push edi
call fcn.004f8b00
add esp, 8
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x4ff54a
xor esi, esi
cmp dword [ebx + 4], 0x7fffffff
jbe 0x4ff40f
lea edi, [esi + 0x4d]
jmp 0x4ff50c
mov eax, dword [esp + 0x28]
push dword [eax + 4]
call fcn.00530420
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
je 0x4ff43d
push dword [ebx + 4]
push dword [ebx]
call fcn.0056be80
mov edi, eax
add esp, 8
mov dword [esp + 0x54], edi
test edi, edi
jne 0x4ff447
mov edi, 0x1b
jmp 0x4ff51a
push 0
push 0
push 0
push edi
call fcn.00577170
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x4ff46d
push edi
call fcn.0056ac20
add esp, 4
lea edi, [ebp + 0x4d]
jmp 0x4ff50c
push ebp
xor edi, edi
call fcn.005694e0
add esp, 4
test eax, eax
jle 0x4ff4cf
nop dword [eax]
push edi
push ebp
call fcn.005696a0
mov ebx, eax
add esp, 8
mov ecx, dword [ebx]
test ecx, ecx
je 0x4ff4a4
push ecx
push dword [esp + 0x54]
call fcn.00574700
add esp, 8
test eax, eax
je 0x4ff4cd
inc esi
mov eax, dword [ebx + 4]
test eax, eax
je 0x4ff4bd
push eax
push dword [esp + 0x54]
call fcn.00574740
add esp, 8
test eax, eax
je 0x4ff4cd
inc esi
push ebp
inc edi
call fcn.005694e0
add esp, 4
cmp edi, eax
jl 0x4ff480
jmp 0x4ff4cf
xor esi, esi
push fcn.00576040
push ebp
call fcn.00569510
push dword [esp + 0x5c]
call fcn.0056ac20
xor eax, eax
add esp, 0xc
test esi, esi
mov edi, 0x4d
cmovg edi, eax
jg 0x4ff546
mov al, byte [esp + 0x13]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
cmp byte [esp + 0x13], 0
je 0x4ff532
cmp byte [esp + 0x40], 0
jne 0x4ff532
push str.error_importing_CA_certificate_blob
push dword [esp + 0x28]
call fcn.004f8a30
add esp, 8
mov eax, edi
jmp 0x4ffb4b
mov edi, dword [esp + 0x24]
push str.error_importing_CA_certificate_blob__continuing_anyway
push edi
call fcn.004f8b00
add esp, 8
jmp 0x4ff54a
mov edi, dword [esp + 0x24]
cmp byte [esp + 0x13], 0
je 0x4ff5e1
cmp byte [esp + 0x40], 0
jne 0x4ff5e1
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
test ebx, ebx
jne 0x4ff570
test eax, eax
je 0x4ff5e1
mov ebp, dword [esp + 0x28]
push eax
push ebx
push dword [ebp + 4]
call fcn.00530450
add esp, 0xc
mov esi, str.none
test eax, eax
jne 0x4ff5b4
mov eax, dword [esp + 0x1c]
mov ecx, esi
test eax, eax
cmovne ecx, eax
test ebx, ebx
push ecx
cmovne esi, ebx
push esi
push str.error_setting_certificate_verify_locations:__CAfile:__s_CApath:__s
push edi
call fcn.004f8a30
add esp, 0x10
mov eax, 0x4d
jmp 0x4ffb4b
test ebx, ebx
mov eax, esi
cmovne eax, ebx
push eax
push str._CAfile:__s
push edi
call fcn.004f8b00
mov eax, dword [esp + 0x28]
test eax, eax
cmovne esi, eax
push esi
push str._CApath:__s
push edi
call fcn.004f8b00
add esp, 0x18
jmp 0x4ff5e5
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
test esi, esi
je 0x4ff653
call fcn.00574ef0
push eax
push dword [ebp + 4]
call fcn.00530420
add esp, 4
push eax
call fcn.00574780
add esp, 8
test eax, eax
je 0x4ff6a6
push 1
push esi
push eax
call fcn.00575170
add esp, 0xc
test eax, eax
je 0x4ff6a6
push str.successfully_loaded_CRL_file:
push edi
call fcn.004f8b00
add esp, 8
push 0xc
push dword [ebp + 4]
call fcn.00530420
add esp, 4
push eax
call fcn.00574aa0
push esi
push str.__CRLfile:__s
push edi
call fcn.004f8b00
add esp, 0x14
cmp byte [esp + 0x13], 0
je 0x4ff6e8
push 0x8000
push dword [ebp + 4]
call fcn.00530420
add esp, 4
push eax
call fcn.00574aa0
mov ebx, dword [esp + 0x20]
add esp, 8
cmp dword [ebx + 0xb8], 2
jne 0x4ff6bf
mov ecx, dword [esp + 0x14]
mov eax, 0x1b8
cmp dword [ecx], 0xffffffff
mov ecx, 0x1c8
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x4ff6bf
mov al, byte [edi + 0x4bc]
jmp 0x4ff6c5
push esi
push str.error_loading_CRL_file:__s
push edi
call fcn.004f8a30
add esp, 0xc
mov eax, 0x52
jmp 0x4ffb4b
mov al, byte [edi + 0x454]
test al, al
jne 0x4ff6ec
test esi, esi
jne 0x4ff6ec
push 0x80000
push dword [ebp + 4]
call fcn.00530420
add esp, 4
push eax
call fcn.00574aa0
add esp, 8
jmp 0x4ff6ec
mov ebx, dword [esp + 0x18]
xor eax, eax
cmp byte [esp + 0x13], al
push 0
setne al
push eax
push dword [ebp + 4]
call fcn.00530a80
add esp, 0xc
call fcn.005271a0
test al, al
je 0x4ff71c
push 0x4fff80
push dword [ebp + 4]
call fcn.005309f0
add esp, 8
push 0
push 0x301
push 0x2c
push dword [ebp + 4]
call fcn.0052ff00
push 0x4fff90
push dword [ebp + 4]
call fcn.00534ac0
add esp, 0x18
cmp dword [edi + 0x434], 0
je 0x4ff786
push 1
push edi
call fcn.004f36f0
push dword [edi + 0x438]
mov eax, dword [edi + 0x434]
push dword [ebp + 4]
push edi
call eax
push 0
push edi
mov esi, eax
call fcn.004f36f0
add esp, 0x1c
test esi, esi
je 0x4ff786
push str.error_signaled_by_ssl_ctx_callback
push edi
call fcn.004f8a30
add esp, 8
mov eax, esi
jmp 0x4ffb4b
mov eax, dword [ebp + 8]
test eax, eax
je 0x4ff796
push eax
call fcn.005315d0
add esp, 4
push dword [ebp + 4]
call fcn.00531f80
mov ecx, eax
add esp, 4
mov dword [ebp + 8], ecx
test ecx, ecx
jne 0x4ff7c2
push str.SSL:_couldnt_create_a_context__handle_
push edi
call fcn.004f8a30
add esp, 8
mov eax, 0x1b
jmp 0x4ffb4b
cmp dword [ebx + 0xb8], 2
mov esi, dword [esp + 0x14]
jne 0x4ff7ed
cmp dword [esi], 0xffffffff
mov eax, 0x1b8
mov edx, 0x1c8
cmovne eax, edx
cmp dword [eax + ebx], 2
je 0x4ff7ed
mov al, byte [ebx + 0x257]
jmp 0x4ff7f3
mov al, byte [ebx + 0x217]
test al, al
je 0x4ff806
push 0
push 1
push 0x41
push ecx
call fcn.00530d30
add esp, 0x10
push dword [ebp + 8]
call fcn.00532890
lea eax, [esp + 0x78]
mov dword [ebp + 0xc], 0
push eax
push dword [esp + 0x4c]
push 2
call fcn.00525cf0
add esp, 0x10
test eax, eax
jne 0x4ff873
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x48]
push 0x17
call fcn.00525cf0
add esp, 0xc
test eax, eax
jne 0x4ff873
push eax
push dword [esp + 0x48]
push edi
call fcn.004e8450
add esp, 0xc
test eax, eax
je 0x4ff869
push eax
push 0
push 0x37
push dword [ebp + 8]
call fcn.00530d30
add esp, 0x10
test eax, eax
jne 0x4ff873
push str.Failed_set_SNI
jmp 0x4ffb3d
push dword [esp + 0x58]
push ebx
push edi
call fcn.004fbd70
add esp, 0xc
test al, al
jne 0x4ff8fc
call fcn.0057a3d0
mov esi, eax
mov byte [esp + 0x84], 0
push 0x100
lea eax, [esp + 0x88]
push eax
push esi
call fcn.0057a080
add esp, 0xc
cmp byte [esp + 0x84], 0
jne 0x4ff8e1
mov ecx, 0x6666c4
test esi, esi
mov eax, 0x6666b4
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.0052fa80
add esp, 0xc
mov byte [esp + 0x183], 0
lea eax, [esp + 0x84]
push eax
push str.SSL:_ossl_associate_connection_failed:__s
push edi
call fcn.004f8a30
add esp, 0xc
jmp 0x4ffb46
cmp dword [ebx + 0xb8], 2
jne 0x4ff923
cmp dword [esi], 0xffffffff
mov eax, 0x1b8
mov ecx, 0x1c8
cmovne eax, ecx
cmp dword [eax + ebx], 2
je 0x4ff923
mov al, byte [edi + 0x494]
jmp 0x4ff929
mov al, byte [edi + 0x42c]
test al, al
je 0x4ffa2b
push edi
call fcn.004e8390
add esp, 4
cmp dword [ebx + 0xb8], 2
jne 0x4ff95e
cmp dword [esi], 0xffffffff
mov eax, 0x1b8
mov ecx, 0x1c8
mov byte [esp + 0x38], 1
cmovne eax, ecx
cmp dword [eax + ebx], 2
jne 0x4ff963
mov byte [esp + 0x38], 0
push dword [esp + 0x58]
lea eax, [esp + 0x64]
push 0
push eax
push dword [esp + 0x44]
push ebx
push edi
call fcn.004e7f30
add esp, 0x18
test al, al
jne 0x4ffa22
push dword [esp + 0x60]
push dword [ebp + 8]
call fcn.00534e30
add esp, 8
test eax, eax
jne 0x4ffa14
push edi
call fcn.004e83b0
call fcn.0057a3d0
mov esi, eax
mov byte [esp + 0x88], 0
push 0x100
lea eax, [esp + 0x8c]
push eax
push esi
call fcn.0057a080
add esp, 0x10
cmp byte [esp + 0x84], 0
jne 0x4ff9f9
mov ecx, 0x6666c4
test esi, esi
mov eax, 0x6666b4
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.0052fa80
add esp, 0xc
mov byte [esp + 0x183], 0
lea eax, [esp + 0x84]
push eax
push str.SSL:_SSL_set_session_failed:__s
push edi
call fcn.004f8a30
add esp, 0xc
jmp 0x4ffb46
push str.SSL_re_using_session_ID
push edi
call fcn.004f8b00
add esp, 8
push edi
call fcn.004e83b0
add esp, 4
mov eax, dword [esp + 0x5c]
cmp byte [eax + 0x1c4], 0
je 0x4ffa80
call fcn.00536680
push eax
call fcn.0056b140
mov ecx, dword [esp + 0x5c]
mov esi, eax
add ecx, 0x1c
add ecx, ecx
mov ecx, dword [ebx + ecx*8]
push dword [ecx + 8]
push 0
push 0x6d
push esi
call fcn.0056ab00
push esi
push esi
push dword [ebp + 8]
call fcn.005326b0
add esp, 0x20
mov eax, dword [esp + 0x5c]
mov dword [eax + 0x19c], 1
xor eax, eax
jmp 0x4ffb4b
push dword [esp + 0x68]
push dword [ebp + 8]
call fcn.00532950
add esp, 8
test eax, eax
jne 0x4ffa6b
call fcn.0057a3d0
mov esi, eax
mov byte [esp + 0x84], 0
push 0x100
lea eax, [esp + 0x88]
push eax
push esi
call fcn.0057a080
add esp, 0xc
cmp byte [esp + 0x84], 0
jne 0x4ffaef
mov ecx, 0x6666c4
test esi, esi
mov eax, 0x6666b4
cmove eax, ecx
push 0x100
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.0052fa80
add esp, 0xc
mov byte [esp + 0x183], 0
lea eax, [esp + 0x84]
push eax
push str.SSL:_SSL_set_fd_failed:__s
push edi
call fcn.004f8a30
add esp, 0xc
jmp 0x4ffb46
push str.No_SSLv2_support
push edi
call fcn.004f8a30
add esp, 8
mov eax, 4
jmp 0x4ffb4b
push str.No_SSLv3_support
push edi
call fcn.004f8a30
add esp, 8
mov eax, 4
jmp 0x4ffb4b
push str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
jmp 0x4ffb3d
push str.Insufficient_randomness
push edi
call fcn.004f8a30
add esp, 8
mov eax, 0x23
mov ecx, dword [esp + 0x204]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a1496
add esp, 0x1f8
ret