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

Disassembly:
sub esp, 0x1e8
mov eax, dword [0x6a9a60]
xor eax, esp
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x1f4]
mov edx, dword [esp + 0x1ec]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x200]
mov ebx, 0x1c0
mov dword [esp + 0x30], eax
mov esi, 0x1b0
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
mov ecx, dword [edi + eax*4 + 0x148]
add eax, 0x19
shl eax, 4
mov dword [esp + 0x58], ecx
add eax, edi
mov ecx, dword [edi + 0xb8]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x24], ebx
cmp ecx, 2
jne 0x4e6c25
cmp dword [edi + 0x14c], 0xffffffff
mov eax, esi
cmovne eax, ebx
cmp dword [eax + edi], ecx
je 0x4e6bfc
mov eax, dword [edi + 0xac]
mov ebx, dword [edi + 0x208]
mov dword [esp + 0x40], eax
jmp 0x4e6c32
mov ebp, dword [edi + 0x64]
mov dword [esp + 0x40], ebp
cmp ecx, 2
jne 0x4e6c2c
cmp dword [edi + 0x14c], 0xffffffff
mov eax, esi
mov dword [esp + 0x40], ebp
cmovne eax, ebx
cmp dword [eax + edi], ecx
je 0x4e6c2c
mov ebx, dword [edi + 0x208]
jmp 0x4e6c32
mov eax, dword [edi + 0x64]
mov dword [esp + 0x40], eax
mov ebx, dword [edi + 0x1d4]
mov dword [esp + 0x3c], ebx
cmp ecx, 2
jne 0x4e6eab
cmp dword [edi + 0x14c], 0xffffffff
mov eax, esi
mov ebp, 0x1c0
cmovne eax, ebp
cmp dword [eax + edi], ecx
je 0x4e6c98
mov eax, dword [edx + 0x4a4]
mov ecx, dword [edi + 0x214]
mov ebp, dword [edx + 0x468]
mov esi, dword [edx + 0x480]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x210]
mov dword [esp + 0x2c], eax
mov al, byte [edi + 0x238]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x490]
jmp 0x4e6ee9
mov ebp, dword [edx + 0x400]
cmp ecx, 2
jne 0x4e6eb1
cmp dword [edi + 0x14c], 0xffffffff
mov eax, esi
mov esi, 0x1c0
cmovne eax, esi
cmp dword [eax + edi], ecx
je 0x4e6cfa
mov eax, dword [edx + 0x4a4]
mov ecx, dword [edi + 0x214]
mov esi, dword [edx + 0x480]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x210]
mov dword [esp + 0x2c], eax
mov al, byte [edi + 0x238]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x490]
jmp 0x4e6ee9
mov esi, dword [edx + 0x418]
cmp ecx, 2
jne 0x4e6eb7
cmp dword [edi + 0x14c], 0xffffffff
mov eax, 0x1b0
cmovne eax, dword [esp + 0x24]
cmp dword [eax + edi], ecx
je 0x4e6d56
mov eax, dword [edx + 0x4a4]
mov ecx, dword [edi + 0x214]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x210]
mov dword [esp + 0x2c], eax
mov al, byte [edi + 0x238]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x490]
jmp 0x4e6ee9
mov edx, dword [edx + 0x43c]
mov dword [esp + 0x20], edx
cmp ecx, 2
jne 0x4e6ec1
cmp dword [edi + 0x14c], 0xffffffff
mov eax, 0x1b0
mov dword [esp + 0x20], edx
cmovne eax, dword [esp + 0x24]
cmp dword [eax + edi], ecx
je 0x4e6db0
mov eax, dword [edi + 0x210]
mov ecx, dword [edi + 0x214]
mov dword [esp + 0x2c], eax
mov al, byte [edi + 0x238]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x490]
jmp 0x4e6ee9
mov eax, dword [edi + 0x1e0]
mov dword [esp + 0x28], eax
cmp ecx, 2
jne 0x4e6ecb
cmp dword [edi + 0x14c], 0xffffffff
mov dword [esp + 0x28], eax
mov eax, 0x1b0
cmovne eax, dword [esp + 0x24]
mov dword [esp + 0x20], edx
cmp dword [eax + edi], ecx
je 0x4e6e04
mov eax, dword [edi + 0x210]
mov dword [esp + 0x2c], eax
mov al, byte [edi + 0x238]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x490]
jmp 0x4e6ee9
mov eax, dword [edi + 0x1dc]
mov dword [esp + 0x2c], eax
cmp ecx, 2
jne 0x4e6ed5
mov eax, dword [esp + 0x28]
cmp dword [edi + 0x14c], 0xffffffff
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
mov eax, 0x1b0
cmovne eax, dword [esp + 0x24]
mov dword [esp + 0x20], edx
cmp dword [eax + edi], ecx
je 0x4e6e5a
mov al, byte [edi + 0x238]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x490]
jmp 0x4e6ee9
mov al, byte [edi + 0x204]
mov byte [esp + 0x13], al
cmp ecx, 2
jne 0x4e6edf
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
cmp dword [edi + 0x14c], 0xffffffff
mov dword [esp + 0x28], eax
mov eax, 0x1b0
mov dword [esp + 0x2c], ecx
mov ecx, 0x1c0
cmovne eax, ecx
mov dword [esp + 0x20], edx
mov dl, byte [esp + 0x13]
mov byte [esp + 0x13], dl
cmp dword [eax + edi], 2
je 0x4e6edf
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x490]
jmp 0x4e6ee9
mov ebp, dword [edx + 0x400]
mov esi, dword [edx + 0x418]
mov eax, dword [edx + 0x43c]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x1e0]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x1dc]
mov dword [esp + 0x2c], eax
mov al, byte [edi + 0x204]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x428]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x4c]
push eax
mov byte [esp + 0x3c], 0
mov ecx, dword [ecx + 8]
mov dword [esp + 0x20], ecx
call fcn.004e86e0
mov edi, eax
add esp, 4
test edi, edi
je 0x4e6f13
mov eax, edi
jmp 0x4e7edc
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0xb8], 2
jne 0x4e6f46
cmp dword [ecx + 0x14c], 0xffffffff
mov eax, 0x1b0
mov edx, 0x1c0
cmovne eax, edx
cmp dword [eax + ecx], 2
je 0x4e6f46
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 0x48c]
jmp 0x4e6f50
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 0x424]
mov dword [eax], 1
cmp ebx, 7
ja case.default.0x4e6f5f
jmp dword [ebx*4 + 0x4e7ef8]
call fcn.00512b00
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4e6f81
push ecx
call fcn.00509510
add esp, 4
push ebx
call fcn.00509710
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [ecx + 4], eax
test eax, eax
jne 0x4e7006
call fcn.00552b00
mov esi, eax
mov byte [esp + 0x74], 0
push 0x100
lea eax, [esp + 0x78]
push eax
push esi
call fcn.005524e0
add esp, 0xc
cmp byte [esp + 0x74], 0
jne 0x4e6fe6
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 dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
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.004d15c0
add esp, 0xc
mov eax, 0x1b
jmp 0x4e7edc
push 0
push 0x10
push 0x21
push eax
call fcn.005091a0
mov ebx, dword [esp + 0x24]
add esp, 0x10
cmp dword [ebx + 0x1b0], 0
je 0x4e7058
cmp byte [ebx + 0x6f2], 0
je 0x4e7058
mov eax, dword [esp + 0x1c]
push 0x4e8c20
push dword [eax + 4]
call fcn.00509c30
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push ebx
push 0
push 0x10
push dword [eax + 4]
call fcn.005091a0
mov ebx, dword [esp + 0x2c]
add esp, 0x18
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xb8]
cmp ecx, 2
jne 0x4e7085
cmp dword [edx + 0x14c], 0xffffffff
mov eax, 0x1b0
cmovne eax, dword [esp + 0x24]
cmp dword [eax + edx], ecx
je 0x4e7085
mov al, byte [ebx + 0x4ba]
jmp 0x4e708b
mov al, byte [ebx + 0x452]
test al, al
mov dword [esp + 0x48], 0x80024854
mov eax, dword [esp + 0x3c]
mov ebx, 0x80024054
cmovne ebx, dword [esp + 0x48]
jmp dword [eax*4 + 0x4e7f18]
mov eax, dword [esp + 0x1c]
push 0
push 2
push 0x7b
push dword [eax + 4]
call fcn.005091a0
push 0
push 2
mov eax, dword [esp + 0x34]
push 0x7c
push dword [eax + 4]
call fcn.005091a0
add esp, 0x20
jmp 0x4e7207
mov eax, dword [esp + 0x1c]
or ebx, 0x2000000
mov edi, dword [eax + 4]
cmp ecx, 2
jne 0x4e7128
cmp dword [edx + 0x14c], 0xffffffff
mov eax, 0x1b0
mov ecx, 0x1c0
cmovne eax, ecx
cmp dword [eax + edx], 2
je 0x4e7128
mov ecx, dword [edx + 0x208]
jmp 0x4e712e
mov ecx, dword [edx + 0x1d4]
lea edx, [ecx - 1]
xor eax, eax
cmp edx, 6
ja case.0x4e7138.2
jmp dword [edx*4 + 0x4e7f38]
mov eax, 0x301
test ecx, ecx
je 0x4e715e
push 0
push eax
push 0x7b
push edi
call fcn.005091a0
add esp, 0x10
test eax, eax
je 0x4e7daa
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0xb8], 2
jne 0x4e71a2
cmp dword [ecx + 0x14c], 0xffffffff
mov eax, 0x1b0
mov edx, 0x1c0
cmovne eax, edx
cmp dword [eax + ecx], 2
je 0x4e71a2
mov eax, dword [ecx + 0x20c]
jmp 0x4e71a8
mov eax, 0x302
jmp 0x4e7148
mov eax, 0x303
jmp 0x4e7148
mov eax, 0x304
jmp 0x4e7148
mov eax, dword [ecx + 0x1d8]
cmp eax, 0x50000
jg 0x4e71d1
je 0x4e71ca
test eax, eax
je 0x4e71df
cmp eax, 0x10000
je 0x4e71df
cmp eax, 0x40000
jne 0x4e71df
mov eax, 0x301
jmp 0x4e71ef
mov eax, 0x302
jmp 0x4e71ef
cmp eax, 0x60000
je 0x4e71ea
cmp eax, 0x70000
je 0x4e71e3
xor eax, eax
jmp 0x4e71ef
mov eax, 0x304
jmp 0x4e71ef
mov eax, 0x303
push 0
push eax
push 0x7c
push edi
call fcn.005091a0
add esp, 0x10
test eax, eax
je 0x4e7daa
xor edi, edi
mov eax, dword [esp + 0x1c]
push ebx
push dword [eax + 4]
call fcn.00509c80
mov ebx, dword [esp + 0x20]
add esp, 8
cmp byte [ebx + 0x25b], 0
je 0x4e723c
push dword [esp + 0x14]
mov eax, dword [esp + 0x20]
push 0x4e91a0
push dword [eax + 4]
call fcn.00509c40
add esp, 0xc
cmp byte [ebx + 0x25c], 0
je 0x4e728f
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.004d1680
push 9
lea eax, [esp + 0x184]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 4]
call fcn.00509ab0
add esp, 0x18
test ebp, ebp
jne 0x4e72a1
test esi, esi
jne 0x4e72a1
cmp dword [esp + 0x20], esi
je 0x4e74b3
xor ebx, ebx
mov dword [esp + 0x34], 0
test esi, esi
je 0x4e72d0
push dword [esi + 4]
push dword [esi]
call fcn.00544ab0
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
jne 0x4e72d0
mov edi, 0x1b
mov eax, edi
jmp 0x4e7edc
mov esi, dword [esp + 0x18]
mov edx, dword [esi + 0xb8]
cmp edx, 2
jne 0x4e7304
cmp dword [esi + 0x14c], 0xffffffff
mov eax, 0x1b0
mov ecx, 0x1c0
cmovne eax, ecx
cmp dword [eax + esi], edx
je 0x4e7304
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x4ac]
jmp 0x4e730e
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x444]
test eax, eax
je 0x4e73b2
cmp edx, 2
jne 0x4e7381
cmp dword [esi + 0x14c], 0xffffffff
mov ebx, 0x1b0
mov eax, ebx
cmovne eax, dword [esp + 0x24]
cmp dword [eax + esi], edx
je 0x4e7345
mov eax, dword [esp + 0x14]
mov ecx, dword [ecx + 0x4ac]
mov eax, dword [eax + 0x4ac]
jmp 0x4e7397
mov ecx, dword [ecx + 0x444]
mov esi, ecx
cmp edx, 2
jne 0x4e7389
mov eax, ebx
mov edx, 0x1c0
mov ebx, dword [esp + 0x18]
cmp dword [ebx + 0x14c], 0xffffffff
cmovne eax, edx
cmp dword [eax + ebx], 2
je 0x4e737b
mov eax, dword [esp + 0x14]
mov esi, ebx
mov eax, dword [eax + 0x4ac]
jmp 0x4e7397
mov ecx, esi
mov esi, ebx
jmp 0x4e738d
mov ecx, dword [ecx + 0x444]
jmp 0x4e738d
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x444]
push dword [ecx + 4]
push dword [eax]
call fcn.00544ab0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4e73b2
lea edi, [eax + 0x1b]
jmp 0x4e748d
mov edx, dword [esi + 0xb8]
cmp edx, 2
jne 0x4e7419
cmp dword [esi + 0x14c], 0xffffffff
mov eax, 0x1b0
mov ecx, 0x1c0
cmovne eax, ecx
cmp dword [eax + esi], edx
je 0x4e73e8
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x4b4]
mov esi, dword [eax + 0x4b0]
jmp 0x4e742d
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x44c]
cmp edx, 2
jne 0x4e7423
cmp dword [esi + 0x14c], 0xffffffff
mov eax, 0x1b0
cmovne eax, dword [esp + 0x24]
cmp dword [eax + esi], edx
je 0x4e7423
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x4b0]
jmp 0x4e742d
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x44c]
mov esi, dword [esp + 0x14]
mov esi, dword [esi + 0x448]
cmp edx, 2
jne 0x4e7459
mov edx, dword [esp + 0x18]
mov eax, 0x1b0
cmp dword [edx + 0x14c], 0xffffffff
cmovne eax, dword [esp + 0x24]
cmp dword [eax + edx], 2
je 0x4e7459
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x4a8]
jmp 0x4e7463
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x440]
push ecx
push esi
push ebx
push eax
push dword [esp + 0x30]
mov eax, dword [esp + 0x30]
push dword [esp + 0x48]
push ebp
push dword [eax + 4]
push dword [esp + 0x34]
call fcn.004e5280
add esp, 0x24
mov ecx, 0x3a
test eax, eax
cmove edi, ecx
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4e749e
push eax
call fcn.00543850
add esp, 4
test ebx, ebx
je 0x4e74ab
push ebx
call fcn.00543850
add esp, 4
test edi, edi
jne 0x4e6f0c
mov ebp, dword [esp + 0x18]
mov ecx, dword [ebp + 0xb8]
cmp ecx, 2
jne 0x4e74e3
cmp dword [ebp + 0x14c], 0xffffffff
mov eax, 0x1b0
mov edx, 0x1c0
cmovne eax, edx
cmp dword [eax + ebp], ecx
je 0x4e74e3
mov esi, dword [ebp + 0x224]
jmp 0x4e74e9
mov esi, dword [ebp + 0x1f0]
mov ebx, dword [esp + 0x1c]
test esi, esi
je 0x4e7537
push esi
push dword [ebx + 4]
call fcn.00509b60
add esp, 8
push esi
test eax, eax
jne 0x4e751d
push str.failed_setting_cipher_list:__s
push dword [esp + 0x1c]
call fcn.004d15c0
add esp, 0xc
mov eax, 0x3b
jmp 0x4e7edc
mov edi, dword [esp + 0x18]
push str.Cipher_selection:__s_n
push edi
call fcn.004d1680
mov ecx, dword [ebp + 0xb8]
add esp, 0xc
jmp 0x4e753b
mov edi, dword [esp + 0x14]
cmp ecx, 2
jne 0x4e7562
cmp dword [ebp + 0x14c], 0xffffffff
mov eax, 0x1b0
mov ecx, 0x1c0
cmovne eax, ecx
cmp dword [eax + ebp], 2
je 0x4e7562
mov esi, dword [ebp + 0x228]
jmp 0x4e7568
mov esi, dword [ebp + 0x1f4]
test esi, esi
je 0x4e75a3
push esi
push dword [ebx + 4]
call fcn.0050f8f0
add esp, 8
push esi
test eax, eax
jne 0x4e7595
push str.failed_setting_TLS_1.3_cipher_suite:__s
push edi
call fcn.004d15c0
add esp, 0xc
mov eax, 0x3b
jmp 0x4e7edc
push str.TLS_1.3_cipher_selection:__s_n
push edi
call fcn.004d1680
add esp, 0xc
push 1
push dword [ebx + 4]
call fcn.00509ca0
add esp, 8
cmp dword [ebp + 0xb8], 2
jne 0x4e75db
cmp dword [ebp + 0x14c], 0xffffffff
mov eax, 0x1b0
mov ecx, 0x1c0
cmovne eax, ecx
cmp dword [eax + ebp], 2
je 0x4e75db
mov esi, dword [ebp + 0x234]
jmp 0x4e75e1
mov esi, dword [ebp + 0x200]
test esi, esi
je 0x4e7612
push esi
push 0
push 0x5c
push dword [ebx + 4]
call fcn.005091a0
add esp, 0x10
test eax, eax
jne 0x4e7612
push esi
push str.failed_setting_curves_list:__s
push edi
call fcn.004d15c0
add esp, 0xc
mov eax, 0x3b
jmp 0x4e7edc
mov ecx, dword [ebp + 0xb8]
mov edx, 0x1b0
lea esi, [edx + 0x10]
cmp ecx, 2
jne 0x4e763e
cmp dword [ebp + 0x14c], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebp], ecx
je 0x4e763e
mov al, byte [ebp + 0x238]
jmp 0x4e7644
mov al, byte [ebp + 0x204]
test al, al
jne 0x4e7674
cmp ecx, 2
jne 0x4e7666
cmp dword [ebp + 0x14c], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebp], ecx
je 0x4e7666
mov al, byte [ebp + 0x239]
jmp 0x4e766c
mov al, byte [ebp + 0x205]
test al, al
je 0x4e790c
cmp ecx, 2
jne 0x4e7692
cmp dword [ebp + 0x14c], 0xffffffff
mov eax, edx
cmovne eax, esi
cmp dword [eax + ebp], ecx
je 0x4e7692
mov al, byte [edi + 0x4be]
jmp 0x4e7698
mov al, byte [edi + 0x456]
test al, al
je 0x4e790c
push dword [ebx + 4]
call fcn.005096c0
add esp, 4
mov dword [esp + 0x54], eax
push str.ROOT
push 0
call dword [sym.imp.CRYPT32.dll_CertOpenSystemStoreA]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x4e78fe
xor esi, esi
push esi
push eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x50], esi
call dword [sym.imp.CRYPT32.dll_CertEnumCertificatesInStore]
mov ebx, eax
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x4e775c
mov eax, dword [ebx + 4]
mov dword [esp + 0x50], eax
test eax, eax
je 0x4e7743
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea eax, [esp + 0x5c]
push eax
mov eax, dword [ebx + 0xc]
add eax, 0x20
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jg 0x4e7743
mov eax, dword [ebx + 0xc]
add eax, 0x28
push eax
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jg 0x4e7743
push 2
lea eax, [esp + 0x28]
push eax
push dword [ebx + 0xc]
push dword [ebx]
call dword [sym.imp.CRYPT32.dll_CertGetIntendedKeyUsage]
test eax, eax
je 0x4e77a0
test byte [esp + 0x24], 4
jne 0x4e77aa
mov esi, dword [esp + 0x18]
push ebx
push dword [esp + 0x40]
call dword [sym.imp.CRYPT32.dll_CertEnumCertificatesInStore]
mov ebx, eax
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x4e76e4
mov bl, byte [esp + 0x38]
push esi
call dword [0x6a9a7c]
add esp, 4
push dword [esp + 0x20]
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
push 0
push dword [esp + 0x40]
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov byte [esp + 0x38], bl
test bl, bl
je 0x4e78fe
push str.successfully_imported_windows_ca_store_n
push edi
call fcn.004d1680
mov byte [esp + 0x40], bl
jmp 0x4e7909
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4e7743
lea eax, [esp + 0x34]
push eax
push 0
push 0
push ebx
call dword [sym.imp.CRYPT32.dll_CertGetEnhancedKeyUsage]
test eax, eax
je 0x4e7743
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4e77ee
cmp eax, dword [esp + 0x48]
jbe 0x4e77ee
push eax
push dword [esp + 0x1c]
call dword [0x6a9a80]
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x4e78cc
mov eax, dword [esp + 0x34]
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x34]
push eax
push esi
push 0
push ebx
call dword [sym.imp.CRYPT32.dll_CertGetEnhancedKeyUsage]
test eax, eax
je 0x4e7747
mov eax, dword [esi]
test eax, eax
jne 0x4e7822
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80092004
jne 0x4e7747
jmp 0x4e7879
xor ebx, ebx
test eax, eax
je 0x4e78c3
mov esi, dword [esi + 4]
nop
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 0x4e7857
test dl, dl
je 0x4e7853
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e7857
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e7837
xor eax, eax
jmp 0x4e785c
sbb eax, eax
or eax, 1
test eax, eax
je 0x4e7875
mov eax, dword [esp + 0x18]
inc ebx
add esi, 4
cmp ebx, dword [eax]
jb 0x4e7830
mov ebx, dword [esp + 0x20]
jmp 0x4e7743
mov ebx, dword [esp + 0x20]
push dword [ebx + 8]
lea eax, [esp + 0x54]
push eax
push 0
call fcn.0054e750
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4e7743
push esi
push dword [esp + 0x58]
call fcn.0054cf60
mov ecx, dword [esp + 0x40]
cmp eax, 1
movzx ecx, cl
mov eax, 1
cmove ecx, eax
push esi
mov dword [esp + 0x44], ecx
call fcn.0054e6f0
add esp, 0xc
jmp 0x4e7743
mov ebx, dword [esp + 0x20]
jmp 0x4e7747
push str.SSL:_Out_of_memory_allocating_for_OID_list
push edi
call fcn.004d15c0
push esi
call dword [0x6a9a7c]
add esp, 0xc
push ebx
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
push 0
push dword [esp + 0x40]
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, 0x1b
jmp 0x4e7edc
push str.error_importing_windows_ca_store__continuing_anyway_n
push edi
call fcn.004d1680
add esp, 8
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
test eax, eax
jne 0x4e7920
test ecx, ecx
je 0x4e79bd
mov ebx, dword [esp + 0x1c]
push ecx
push eax
push dword [ebx + 4]
call fcn.005096f0
add esp, 0xc
test eax, eax
jne 0x4e797b
cmp byte [esp + 0x13], al
je 0x4e7974
cmp byte [esp + 0x38], al
jne 0x4e7974
mov ecx, dword [esp + 0x2c]
mov esi, str.none
test ecx, ecx
mov eax, esi
cmovne eax, ecx
push eax
mov eax, dword [esp + 0x2c]
test eax, eax
cmovne esi, eax
push esi
push str.error_setting_certificate_verify_locations:__CAfile:__s_CApath:__s
push edi
call fcn.004d15c0
add esp, 0x10
mov eax, 0x4d
jmp 0x4e7edc
mov eax, str.error_setting_certificate_verify_locations__continuing_anyway:_n
jmp 0x4e7980
mov eax, str.successfully_set_certificate_verify_locations:_n
push eax
push edi
call fcn.004d1680
mov ecx, dword [esp + 0x30]
mov esi, str.none
test ecx, ecx
mov eax, esi
cmovne eax, ecx
push eax
push str._CAfile:__s_n
push edi
call fcn.004d1680
mov eax, dword [esp + 0x40]
test eax, eax
cmovne esi, eax
push esi
push str._CApath:__s_n
push edi
call fcn.004d1680
add esp, 0x20
jmp 0x4e79c1
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x44]
test esi, esi
je 0x4e7a2f
call fcn.0054d740
push eax
push dword [ebx + 4]
call fcn.005096c0
add esp, 4
push eax
call fcn.0054cfe0
add esp, 8
test eax, eax
je 0x4e7a7e
push 1
push esi
push eax
call fcn.0054d9c0
add esp, 0xc
test eax, eax
je 0x4e7a7e
push str.successfully_load_CRL_file:_n
push edi
call fcn.004d1680
add esp, 8
push 0xc
push dword [ebx + 4]
call fcn.005096c0
add esp, 4
push eax
call fcn.0054d2e0
push esi
push str.__CRLfile:__s_n
push edi
call fcn.004d1680
add esp, 0x14
cmp byte [esp + 0x13], 0
je 0x4e7abe
push 0x8000
push dword [ebx + 4]
call fcn.005096c0
add esp, 4
push eax
call fcn.0054d2e0
add esp, 8
cmp dword [ebp + 0xb8], 2
jne 0x4e7a97
cmp dword [ebp + 0x14c], 0xffffffff
mov eax, 0x1b0
mov ecx, 0x1c0
cmovne eax, ecx
cmp dword [eax + ebp], 2
je 0x4e7a97
mov al, byte [edi + 0x4bc]
jmp 0x4e7a9d
push esi
push str.error_loading_CRL_file:__s
push edi
call fcn.004d15c0
add esp, 0xc
mov eax, 0x52
jmp 0x4e7edc
mov al, byte [edi + 0x454]
test al, al
jne 0x4e7abe
test esi, esi
jne 0x4e7abe
push 0x80000
push dword [ebx + 4]
call fcn.005096c0
add esp, 4
push eax
call fcn.0054d2e0
add esp, 8
xor eax, eax
cmp byte [esp + 0x13], al
push 0
setne al
push eax
push dword [ebx + 4]
call fcn.00509cb0
add esp, 0xc
call fcn.005044b0
test al, al
je 0x4e7aee
push 0x4e8370
push dword [ebx + 4]
call fcn.00509c20
add esp, 8
push 0
push 0x301
push 0x2c
push dword [ebx + 4]
call fcn.005091a0
push 0x4e8380
push dword [ebx + 4]
call fcn.0050dcc0
add esp, 0x18
cmp dword [edi + 0x434], 0
je 0x4e7b55
push 1
push edi
call fcn.004c2560
push dword [edi + 0x438]
mov eax, dword [edi + 0x434]
push dword [ebx + 4]
push edi
call eax
push 0
push edi
mov esi, eax
call fcn.004c2560
add esp, 0x1c
test esi, esi
je 0x4e7b55
push str.error_signaled_by_ssl_ctx_callback
push edi
call fcn.004d15c0
mov eax, esi
jmp 0x4e7ed9
mov eax, dword [ebx + 8]
test eax, eax
je 0x4e7b65
push eax
call fcn.0050a7e0
add esp, 4
push dword [ebx + 4]
call fcn.0050b1a0
mov ecx, eax
add esp, 4
mov dword [ebx + 8], ecx
test ecx, ecx
jne 0x4e7b8e
push str.SSL:_couldnt_create_a_context__handle__
push edi
call fcn.004d15c0
mov eax, 0x1b
jmp 0x4e7ed9
cmp dword [ebp + 0xb8], 2
jne 0x4e7bb9
cmp dword [ebp + 0x14c], 0xffffffff
mov eax, 0x1b0
mov edx, 0x1c0
cmovne eax, edx
cmp dword [eax + ebp], 2
je 0x4e7bb9
mov al, byte [ebp + 0x23a]
jmp 0x4e7bbf
mov al, byte [ebp + 0x206]
test al, al
je 0x4e7bd5
push 0
push 1
push 0x41
push ecx
call fcn.00509f60
mov ecx, dword [ebx + 8]
add esp, 0x10
push ecx
call fcn.0050ba80
mov esi, dword [esp + 0x44]
lea eax, [esp + 0x68]
push eax
push esi
push 2
mov dword [ebx + 0xc], 0
call fcn.004e3650
add esp, 0x10
test eax, eax
jne 0x4e7c68
lea eax, [esp + 0x64]
push eax
push esi
push 0x17
call fcn.004e3650
add esp, 0xc
test eax, eax
jne 0x4e7c68
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4e7c11
sub esi, ecx
cmp esi, dword [edi + 0x4c8]
jge 0x4e7daa
mov eax, dword [esp + 0x40]
push esi
push eax
push dword [edi + 0x8ec]
call fcn.004d5300
mov eax, dword [edi + 0x8ec]
mov byte [esi + eax], 0
push dword [edi + 0x8ec]
push 0
push 0x37
push dword [ebx + 8]
call fcn.00509f60
add esp, 0x1c
test eax, eax
jne 0x4e7c68
push str.WARNING:_failed_to_configure_server_name_indication__SNI__TLS_extension_n
push edi
call fcn.004d1680
add esp, 8
cmp dword [ebp + 0xb8], 2
jne 0x4e7c93
cmp dword [ebp + 0x14c], 0xffffffff
mov eax, 0x1b0
mov ecx, 0x1c0
cmovne eax, ecx
cmp dword [eax + ebp], 2
je 0x4e7c93
mov al, byte [edi + 0x48b]
jmp 0x4e7c99
mov al, byte [edi + 0x423]
test al, al
je 0x4e7dcb
mov dword [esp + 0x44], 0
call fcn.004e8310
mov ebx, eax
call fcn.004e82e0
mov esi, eax
call fcn.004e8340
mov edi, eax
test ebx, ebx
js 0x4e7d01
test esi, esi
js 0x4e7d01
test edi, edi
js 0x4e7d01
push dword [esp + 0x14]
push ebx
mov ebx, dword [esp + 0x24]
push dword [ebx + 8]
call fcn.0050bb30
push ebp
push esi
push dword [ebx + 8]
call fcn.0050bb30
mov esi, dword [esp + 0x48]
lea eax, [esi*4 + 0x148]
add eax, ebp
push eax
push edi
push dword [ebx + 8]
call fcn.0050bb30
add esp, 0x24
jmp 0x4e7d09
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
push edi
call fcn.004cbe10
push esi
push 0
lea eax, [esp + 0x50]
push eax
push ebp
push edi
call fcn.004cb880
add esp, 0x18
test al, al
jne 0x4e7dc2
push dword [esp + 0x44]
push dword [ebx + 8]
call fcn.0050e030
add esp, 8
test eax, eax
jne 0x4e7db4
push edi
call fcn.004cbe30
call fcn.00552810
mov esi, eax
mov byte [esp + 0x78], 0
push 0x100
lea eax, [esp + 0x7c]
push eax
push esi
call fcn.005524e0
add esp, 0x10
cmp byte [esp + 0x74], 0
jne 0x4e7d97
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 dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov byte [esp + 0x173], 0
lea eax, [esp + 0x74]
push eax
push str.SSL:_SSL_set_session_failed:__s
push edi
call fcn.004d15c0
add esp, 0xc
mov eax, 0x23
jmp 0x4e7edc
push str.SSL_re_using_session_ID_n
push edi
call fcn.004d1680
add esp, 8
push edi
call fcn.004cbe30
add esp, 4
mov eax, dword [esp + 0x30]
shl eax, 4
mov dword [esp + 0x30], eax
cmp byte [eax + ebp + 0x1bc], 0
je 0x4e7e24
call fcn.0050f850
push eax
call fcn.00543d60
mov esi, eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + ebp + 0x1b8]
push dword [ecx + 8]
push 0
push 0x6d
push esi
call fcn.00543730
push esi
push esi
push dword [ebx + 8]
call fcn.0050b8b0
add esp, 0x20
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 1
xor eax, eax
jmp 0x4e7edc
push dword [esp + 0x58]
push dword [ebx + 8]
call fcn.0050bb40
add esp, 8
test eax, eax
jne 0x4e7e12
call fcn.00552810
mov esi, eax
mov byte [esp + 0x74], 0
push 0x100
lea eax, [esp + 0x78]
push eax
push esi
call fcn.005524e0
add esp, 0xc
cmp byte [esp + 0x74], 0
jne 0x4e7e88
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 dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov byte [esp + 0x173], 0
lea eax, [esp + 0x74]
push eax
push str.SSL:_SSL_set_fd_failed:__s
push edi
call fcn.004d15c0
add esp, 0xc
mov eax, 0x23
jmp 0x4e7edc
push str.OpenSSL_was_built_without_SSLv2_support
push ecx
call fcn.004d15c0
mov eax, 4
jmp 0x4e7ed9
push str.OpenSSL_was_built_without_SSLv3_support
push ecx
call fcn.004d15c0
mov eax, 4
jmp 0x4e7ed9
push str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
push dword [esp + 0x18]
call fcn.004d15c0
mov eax, 0x23
add esp, 8
mov ecx, dword [esp + 0x1f4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b3004
add esp, 0x1e8
ret