Function at 0x10094750
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3f0
mov eax, dword [0x100cf614]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x2e8], 0xffffffff
mov eax, dword [ebp + 0x10]
shl eax, 4
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + eax + 0x1a0]
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x32c], 0
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0xc0], 2
jne 0x100947ff
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 0xc]
cmp dword [edx + ecx + 0x158], 0xffffffff
jne 0x100947ce
mov dword [ebp - 0x310], 0
jmp 0x100947d8
mov dword [ebp - 0x310], 1
mov eax, dword [ebp - 0x310]
shl eax, 4
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + eax + 0x1c0], 2
je 0x100947ff
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0xb4]
mov dword [ebp - 0x360], eax
jmp 0x1009480b
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x6c]
mov dword [ebp - 0x360], edx
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x30c], eax
xor ecx, ecx
jne 0x10094817
push 1
push 2
push 1
push 5
call fcn.1009f830
add esp, 0x10
movzx edx, al
test edx, edx
je 0x10094843
push str.schannel:_Windows_version_is_old_and_may_not_be_able_to_connect_to_some_servers_due_to_lack_of_SNI__algorithms__etc._n
mov eax, dword [ebp + 8]
push eax
call fcn.100588f0
add esp, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 0x26c]
test edx, edx
je 0x1009488f
push str.wine_get_version
push str.ntdll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x1009488f
push 3
push 2
push 3
push 6
call fcn.1009f830
add esp, 0x10
movzx eax, al
test eax, eax
je 0x1009488f
mov dword [ebp - 0x368], 1
jmp 0x10094899
mov dword [ebp - 0x368], 0
cmp dword [ebp - 0x368], 0
jne 0x100948ae
mov dword [ebp - 0x364], 0
jmp 0x100948b8
mov dword [ebp - 0x364], 1
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
mov al, byte [ebp - 0x364]
mov byte [edx + 0x46], al
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0xc0], 2
jne 0x10094928
mov edx, 4
shl edx, 0
mov eax, dword [ebp + 0xc]
cmp dword [eax + edx + 0x158], 0xffffffff
jne 0x100948f7
mov dword [ebp - 0x328], 0
jmp 0x10094901
mov dword [ebp - 0x328], 1
mov ecx, dword [ebp - 0x328]
shl ecx, 4
mov edx, dword [ebp + 0xc]
cmp dword [edx + ecx + 0x1c0], 2
je 0x10094928
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x224]
mov dword [ebp - 0x300], ecx
jmp 0x10094937
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x1f0]
mov dword [ebp - 0x300], eax
cmp dword [ebp - 0x300], 0
je 0x10094983
push 3
push 2
push 1
push 6
call fcn.1009f830
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x10094966
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 8]
mov byte [eax + 0x47], 1
jmp 0x10094981
push 0x100d8c78
mov ecx, dword [ebp + 8]
push ecx
call fcn.10058cd0
add esp, 8
mov eax, 0x4d
jmp 0x10095bf5
jmp 0x10094990
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 8]
mov byte [eax + 0x47], 0
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
mov dword [edx], 0
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0xc0], 2
jne 0x100949fe
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 0xc]
cmp dword [edx + ecx + 0x158], 0xffffffff
jne 0x100949cc
mov dword [ebp - 0x324], 0
jmp 0x100949d6
mov dword [ebp - 0x324], 1
mov eax, dword [ebp - 0x324]
shl eax, 4
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + eax + 0x1c0], 2
je 0x100949fe
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x49b]
mov dword [ebp - 0x308], eax
jmp 0x10094a0e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x433]
mov dword [ebp - 0x308], edx
cmp dword [ebp - 0x308], 0
je 0x10094a8b
mov eax, dword [ebp + 8]
push eax
call fcn.100489c0
add esp, 4
mov ecx, dword [ebp + 0x10]
push ecx
push 0
lea edx, [ebp - 0x32c]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10048690
add esp, 0x14
movzx edx, al
test edx, edx
jne 0x10094a7f
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x32c]
mov dword [ecx], edx
xor eax, eax
jne 0x10094a58
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
add ecx, 1
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 8]
mov edx, dword [eax]
mov dword [edx + 0x10], ecx
xor eax, eax
jne 0x10094a7b
mov ecx, dword [ebp + 8]
push ecx
call fcn.10048990
add esp, 4
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 8]
cmp dword [eax], 0
jne 0x10095704
push 0x38
push 0
lea ecx, [ebp - 0x3c0]
push ecx
call fcn.1001d530
add esp, 0xc
mov dword [ebp - 0x3c0], 4
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 0x214]
test eax, eax
je 0x10094b55
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
movzx eax, byte [edx + 0x47]
test eax, eax
je 0x10094ae9
mov dword [ebp - 0x390], 8
jmp 0x10094af3
mov dword [ebp - 0x390], 0x20
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x463]
test edx, edx
je 0x10094b18
mov eax, dword [ebp - 0x390]
or eax, 0x1800
mov dword [ebp - 0x390], eax
xor ecx, ecx
jne 0x10094b12
jmp 0x10094b53
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x465]
test eax, eax
je 0x10094b3e
mov ecx, dword [ebp - 0x390]
or ecx, 0x1a00
mov dword [ebp - 0x390], ecx
xor edx, edx
jne 0x10094b38
jmp 0x10094b53
mov eax, dword [ebp - 0x390]
or eax, 0x200
mov dword [ebp - 0x390], eax
xor ecx, ecx
jne 0x10094b4f
jmp 0x10094b63
mov dword [ebp - 0x390], 0x1808
xor edx, edx
jne 0x10094b5f
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0x215]
test ecx, ecx
jne 0x10094b84
mov edx, dword [ebp - 0x390]
or edx, 4
mov dword [ebp - 0x390], edx
xor eax, eax
jne 0x10094b80
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x1e4]
mov dword [ebp - 0x2f8], edx
cmp dword [ebp - 0x2f8], 7
ja case.default.0x10094ba2
mov eax, dword [ebp - 0x2f8]
jmp dword [eax*4 + 0x10095c04]
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x3c0]
push eax
call fcn.10097a60
add esp, 0xc
mov dword [ebp - 0x2a8], eax
cmp dword [ebp - 0x2a8], 0
je 0x10094bda
mov eax, dword [ebp - 0x2a8]
jmp 0x10095bf5
jmp 0x10094c0f
mov dword [ebp - 0x3a0], 0x20
jmp 0x10094c0f
mov dword [ebp - 0x3a0], 8
jmp 0x10094c0f
push str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
mov ecx, dword [ebp + 8]
push ecx
call fcn.10058cd0
add esp, 8
mov eax, 0x23
jmp 0x10095bf5
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0xc0], 2
jne 0x10094c6d
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + eax + 0x158], 0xffffffff
jne 0x10094c3c
mov dword [ebp - 0x334], 0
jmp 0x10094c46
mov dword [ebp - 0x334], 1
mov edx, dword [ebp - 0x334]
shl edx, 4
mov eax, dword [ebp + 0xc]
cmp dword [eax + edx + 0x1c0], 2
je 0x10094c6d
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x234]
mov dword [ebp - 0x318], edx
jmp 0x10094c7c
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x200]
mov dword [ebp - 0x318], ecx
cmp dword [ebp - 0x318], 0
je 0x10094d37
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0xc0], 2
jne 0x10094ce7
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + eax + 0x158], 0xffffffff
jne 0x10094cb6
mov dword [ebp - 0x33c], 0
jmp 0x10094cc0
mov dword [ebp - 0x33c], 1
mov edx, dword [ebp - 0x33c]
shl edx, 4
mov eax, dword [ebp + 0xc]
cmp dword [eax + edx + 0x1c0], 2
je 0x10094ce7
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x234]
mov dword [ebp - 0x320], edx
jmp 0x10094cf6
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x200]
mov dword [ebp - 0x320], ecx
mov edx, dword [ebp - 0x320]
push edx
lea eax, [ebp - 0x3c0]
push eax
call fcn.10095e40
add esp, 8
mov dword [ebp - 0x2a8], eax
cmp dword [ebp - 0x2a8], 0
je 0x10094d37
push str.Unable_to_set_ciphers_to_passed_via_SSL_CONN_CONFIG
mov ecx, dword [ebp + 8]
push ecx
call fcn.10058cd0
add esp, 8
mov eax, dword [ebp - 0x2a8]
jmp 0x10095bf5
mov edx, dword [ebp + 8]
cmp dword [edx + 0x410], 0
jne 0x10094d53
mov eax, dword [ebp + 8]
cmp dword [eax + 0x428], 0
je 0x1009558c
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2d4], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x428], 0
je 0x10094db1
mov dword [ebp - 0x344], 1
jmp 0x10094dbb
mov dword [ebp - 0x344], 0
cmp dword [ebp - 0x344], 0
jne 0x10094dd0
mov dword [ebp - 0x34c], 0
jmp 0x10094dda
mov dword [ebp - 0x34c], 1
mov dl, byte [ebp - 0x34c]
mov byte [ebp - 0x29e], dl
mov dword [ebp - 0x2bc], 0
movzx eax, byte [ebp - 0x29e]
test eax, eax
je 0x10094e23
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x428]
mov eax, dword [edx]
mov dword [ebp - 0x2c4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x428]
mov eax, dword [edx + 4]
mov dword [ebp - 0x2d4], eax
jmp 0x10094ef4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x410]
mov dword [ebp - 0x2bc], edx
cmp dword [ebp - 0x2bc], 0
jne 0x10094e45
mov eax, 0x1b
jmp 0x10095bf5
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x2d0]
push ecx
lea edx, [ebp - 0x2e4]
push edx
mov eax, dword [ebp - 0x2bc]
push eax
call fcn.10095c30
add esp, 0x10
mov dword [ebp - 0x2a8], eax
cmp dword [ebp - 0x2a8], 0
je 0x10094eae
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x410]
movsx edx, byte [ecx + edx]
test edx, edx
je 0x10094eae
push 0x100d8d18
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x410]
push ecx
call fcn.10091020
add esp, 8
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2a8], 0
je 0x10094ef4
cmp dword [ebp - 0x2b0], 0
jne 0x10094ef4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x410]
push eax
push str.schannel:_Failed_to_get_certificate_location_or_file_for__s
mov ecx, dword [ebp + 8]
push ecx
call fcn.10058cd0
add esp, 0xc
mov dword [ebp - 0x2bc], 0
xor edx, edx
jne 0x10094edb
mov eax, dword [ebp - 0x2a8]
jmp 0x10095bf5
cmp dword [ebp - 0x2b0], 0
jne 0x10094f08
movzx eax, byte [ebp - 0x29e]
test eax, eax
je 0x10094f85
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x44c], 0
je 0x10094f85
push 0x100d8d58
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44c]
push eax
call fcn.10042d40
add esp, 8
test eax, eax
jne 0x10094f85
movzx ecx, byte [ebp - 0x29e]
test ecx, ecx
je 0x10094f46
mov dword [ebp - 0x35c], 0x100d8d5c
jmp 0x10094f55
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x410]
mov dword [ebp - 0x35c], eax
mov ecx, dword [ebp - 0x35c]
push ecx
push str.schannel:_certificate_format_compatibility_error__for__s
mov edx, dword [ebp + 8]
push edx
call fcn.10058cd0
add esp, 0xc
mov dword [ebp - 0x2bc], 0
xor eax, eax
jne 0x10094f6d
mov eax, 0x3a
jmp 0x10095bf5
cmp dword [ebp - 0x2b0], 0
jne 0x10094f9d
movzx ecx, byte [ebp - 0x29e]
test ecx, ecx
je 0x10095406
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2dc], 0
movzx edx, byte [ebp - 0x29e]
test edx, edx
je 0x10094fc8
mov dword [ebp - 0x330], str._memory_blob_
jmp 0x10094fd7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x410]
mov dword [ebp - 0x330], ecx
mov edx, dword [ebp - 0x330]
mov dword [ebp - 0x2f0], edx
mov dword [ebp - 0x2bc], 0
xor eax, eax
jne 0x10094fe3
cmp dword [ebp - 0x2b0], 0
je 0x100951a8
mov dword [ebp - 0x2f4], 0
push 2
push 0
mov ecx, dword [ebp - 0x2b0]
push ecx
call fcn.1001ffbf
add esp, 0xc
test eax, eax
jne 0x1009502b
mov dword [ebp - 0x350], 1
jmp 0x10095035
mov dword [ebp - 0x350], 0
cmp dword [ebp - 0x350], 0
jne 0x1009504a
mov dword [ebp - 0x338], 0
jmp 0x10095054
mov dword [ebp - 0x338], 1
mov dl, byte [ebp - 0x338]
mov byte [ebp - 0x29d], dl
movzx eax, byte [ebp - 0x29d]
test eax, eax
je 0x10095080
mov ecx, dword [ebp - 0x2b0]
push ecx
call fcn.1001fec4
add esp, 4
mov dword [ebp - 0x2f4], eax
cmp dword [ebp - 0x2f4], 0
jge 0x10095092
mov byte [ebp - 0x29d], 0
jmp 0x1009509e
mov edx, dword [ebp - 0x2f4]
mov dword [ebp - 0x2d4], edx
movzx eax, byte [ebp - 0x29d]
test eax, eax
je 0x10095101
push 0
push 0
mov ecx, dword [ebp - 0x2b0]
push ecx
call fcn.1001ffbf
add esp, 0xc
test eax, eax
jne 0x100950cc
mov dword [ebp - 0x354], 1
jmp 0x100950d6
mov dword [ebp - 0x354], 0
cmp dword [ebp - 0x354], 0
jne 0x100950eb
mov dword [ebp - 0x340], 0
jmp 0x100950f5
mov dword [ebp - 0x340], 1
mov dl, byte [ebp - 0x340]
mov byte [ebp - 0x29d], dl
movzx eax, byte [ebp - 0x29d]
test eax, eax
je 0x10095125
mov ecx, dword [ebp - 0x2d4]
add ecx, 1
push ecx
call dword [0x100d05f0]
add esp, 4
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
je 0x10095152
mov edx, dword [ebp - 0x2b0]
push edx
push 1
mov eax, dword [ebp - 0x2d4]
push eax
mov ecx, dword [ebp - 0x2c4]
push ecx
call fcn.1001e9e6
add esp, 0x10
cmp eax, 1
je 0x10095159
mov byte [ebp - 0x29d], 0
mov edx, dword [ebp - 0x2b0]
push edx
call fcn.1001f374
add esp, 4
movzx eax, byte [ebp - 0x29d]
test eax, eax
jne 0x100951a8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x410]
push edx
push str.schannel:_Failed_to_read_cert_file__s
mov eax, dword [ebp + 8]
push eax
call fcn.10058cd0
add esp, 0xc
mov ecx, dword [ebp - 0x2c4]
push ecx
call dword [0x100d05f8]
add esp, 4
mov eax, 0x3a
jmp 0x10095bf5
mov edx, dword [ebp - 0x2c4]
mov dword [ebp - 0x3c4], edx
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x3c8], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x45c], 0
je 0x10095226
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x45c]
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x2d8]
add ecx, 1
mov dword [ebp - 0x378], ecx
mov edx, dword [ebp - 0x2d8]
mov al, byte [edx]
mov byte [ebp - 0x2bd], al
add dword [ebp - 0x2d8], 1
cmp byte [ebp - 0x2bd], 0
jne 0x100951ea
mov ecx, dword [ebp - 0x2d8]
sub ecx, dword [ebp - 0x378]
mov dword [ebp - 0x380], ecx
mov edx, dword [ebp - 0x380]
mov dword [ebp - 0x2cc], edx
mov eax, dword [ebp - 0x2cc]
lea ecx, [eax + eax + 2]
push ecx
call dword [0x100d05f0]
add esp, 4
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0
je 0x100952fa
cmp dword [ebp - 0x2cc], 0
jbe 0x1009528d
mov edx, dword [ebp - 0x2cc]
add edx, 1
push edx
mov eax, dword [ebp - 0x2c8]
push eax
mov ecx, dword [ebp - 0x2cc]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x45c]
push eax
push 8
push 0xfde9
call fcn.10097c40
add esp, 0x18
mov dword [ebp - 0x2dc], eax
cmp dword [ebp - 0x2dc], 0
jl 0x100952b8
mov ecx, dword [ebp - 0x2dc]
cmp ecx, dword [ebp - 0x2cc]
jg 0x100952b8
xor edx, edx
mov eax, dword [ebp - 0x2dc]
mov ecx, dword [ebp - 0x2c8]
mov word [ecx + eax*2], dx
jmp 0x100952cc
mov edx, 2
imul eax, edx, 0
xor ecx, ecx
mov edx, dword [ebp - 0x2c8]
mov word [edx + eax], cx
push 0
mov eax, dword [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0x3c8]
push ecx
call fcn.100981b0
add esp, 0xc
mov dword [ebp - 0x2ac], eax
mov edx, dword [ebp - 0x2c8]
push edx
call dword [0x100d05f8]
add esp, 4
movzx eax, byte [ebp - 0x29e]
test eax, eax
jne 0x10095315
mov ecx, dword [ebp - 0x2c4]
push ecx
call dword [0x100d05f8]
add esp, 4
cmp dword [ebp - 0x2ac], 0
jne 0x10095375
call fcn.10097dc0
mov dword [ebp - 0x358], eax
cmp dword [ebp - 0x358], 0x56
jne 0x1009534c
mov edx, dword [ebp - 0x2f0]
push edx
push str.schannel:_Failed_to_import_cert_file__s__password_is_bad
mov eax, dword [ebp + 8]
push eax
call fcn.10058cd0
add esp, 0xc
jmp 0x1009536b
mov ecx, dword [ebp - 0x358]
push ecx
mov edx, dword [ebp - 0x2f0]
push edx
push str.schannel:_Failed_to_import_cert_file__s__last_error_is_0x_x
mov eax, dword [ebp + 8]
push eax
call fcn.10058cd0
add esp, 0x10
mov eax, 0x3a
jmp 0x10095bf5
push 0
push 0
push 0
push 0
push 0x10001
mov ecx, dword [ebp - 0x2ac]
push ecx
call fcn.10098470
add esp, 0x18
mov edx, 4
imul ecx, edx, 0
mov dword [ebp + ecx - 0x2b4], eax
mov edx, 4
imul eax, edx, 0
cmp dword [ebp + eax - 0x2b4], 0
jne 0x100953eb
call fcn.10097dc0
push eax
mov ecx, dword [ebp - 0x2f0]
push ecx
push str.schannel:_Failed_to_get_certificate_from_file__s__last_error_is_0x_x
mov edx, dword [ebp + 8]
push edx
call fcn.10058cd0
add esp, 0x10
push 0
mov eax, dword [ebp - 0x2ac]
push eax
call fcn.10098330
add esp, 8
mov eax, 0x3a
jmp 0x10095bf5
mov dword [ebp - 0x3bc], 1
lea ecx, [ebp - 0x2b4]
mov dword [ebp - 0x3b8], ecx
jmp 0x1009557b
mov edx, dword [ebp - 0x2d0]
push edx
mov eax, dword [ebp - 0x2e4]
or eax, 0x4000
push eax
push 0
push 0
push 9
call fcn.10098840
add esp, 0x14
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0
jne 0x10095483
call fcn.10097dc0
push eax
mov ecx, dword [ebp - 0x2d0]
push ecx
mov edx, dword [ebp - 0x2e4]
push edx
push str.schannel:_Failed_to_open_cert_store__x__s__last_error_is_0x_x
mov eax, dword [ebp + 8]
push eax
call fcn.10058cd0
add esp, 0x14
mov ecx, dword [ebp - 0x2d0]
push ecx
call dword [0x100d05f8]
add esp, 4
mov dword [ebp - 0x2bc], 0
xor edx, edx
jne 0x1009546b
mov eax, 0x3a
jmp 0x10095bf5
mov eax, dword [ebp - 0x2d0]
push eax
call dword [0x100d05f8]
add esp, 4
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x384], ecx
mov dword [ebp - 0x388], 0x14
push 0
push 0
lea edx, [ebp - 0x388]
push edx
lea eax, [ebp - 0x18]
push eax
push 4
push 0x28
mov ecx, dword [ebp - 0x348]
push ecx
call fcn.10098980
add esp, 0x1c
test eax, eax
jne 0x100954f5
mov dword [ebp - 0x2bc], 0
xor edx, edx
jne 0x100954cc
push 0
mov eax, dword [ebp - 0x2ac]
push eax
call fcn.10098330
add esp, 8
mov eax, 0x3a
jmp 0x10095bf5
push 0
lea ecx, [ebp - 0x388]
push ecx
push 0x10000
push 0
push 0x10001
mov edx, dword [ebp - 0x2ac]
push edx
call fcn.10098470
add esp, 0x18
mov ecx, 4
imul edx, ecx, 0
mov dword [ebp + edx - 0x2b4], eax
mov dword [ebp - 0x2bc], 0
xor eax, eax
jne 0x10095528
mov ecx, 4
imul edx, ecx, 0
cmp dword [ebp + edx - 0x2b4], 0
je 0x10095560
mov dword [ebp - 0x3bc], 1
lea eax, [ebp - 0x2b4]
mov dword [ebp - 0x3b8], eax
jmp 0x1009557b
push 0
mov ecx, dword [ebp - 0x2ac]
push ecx
call fcn.10098330
add esp, 8
mov eax, 0x3a
jmp 0x10095bf5
push 0
mov edx, dword [ebp - 0x2ac]
push edx
call fcn.10098330
add esp, 8
push 0x18
push 1
call dword [0x100d0664]
add esp, 8
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
mov dword [edx], eax
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + 8]
cmp dword [ecx], 0
jne 0x100955f7
push 0x100d8ee0
mov edx, dword [ebp + 8]
push edx
call fcn.10058cd0
add esp, 8
mov eax, 4
imul ecx, eax, 0
cmp dword [ebp + ecx - 0x2b4], 0
je 0x100955ed
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + eax - 0x2b4]
push ecx
call fcn.10098660
add esp, 4
mov eax, 0x1b
jmp 0x10095bf5
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 8]
mov ecx, dword [eax]
mov dword [ecx + 0x10], 1
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 8]
mov ecx, dword [eax]
add ecx, 8
push ecx
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 8]
mov ecx, dword [eax]
push ecx
push 0
push 0
lea edx, [ebp - 0x3c0]
push edx
push 0
push 2
push str.Microsoft_Unified_Security_Protocol_Provider
push 0
mov eax, dword [0x100de770]
mov ecx, dword [eax + 0xc]
call ecx
mov dword [ebp - 0x2b8], eax
mov edx, 4
imul eax, edx, 0
cmp dword [ebp + eax - 0x2b4], 0
je 0x10095674
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp + edx - 0x2b4]
push eax
call fcn.10098660
add esp, 4
cmp dword [ebp - 0x2b8], 0
je 0x10095704
push 0x100
lea ecx, [ebp - 0x298]
push ecx
mov edx, dword [ebp - 0x2b8]
push edx
call fcn.10089b90
add esp, 0xc
push eax
push str.schannel:_AcquireCredentialsHandle_failed:__s
mov eax, dword [ebp + 8]
push eax
call fcn.10058cd0
add esp, 0xc
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
mov eax, dword [edx]
push eax
call dword [0x100d05f8]
add esp, 4
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
mov dword [edx], 0
xor eax, eax
jne 0x100956ae
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x37c], ecx
cmp dword [ebp - 0x37c], 0x80090300
je 0x100956f0
jmp 0x100956fa
mov eax, 0x1b
jmp 0x10095bf5
mov eax, 0x23
jmp 0x10095bf5
lea edx, [ebp - 0x3d8]
push edx
mov eax, dword [ebp - 0x30c]
push eax
push 2
call fcn.10091350
add esp, 0xc
test eax, eax
je 0x10095731
push str.schannel:_using_IP_address__SNI_is_not_supported_by_OS._n
mov ecx, dword [ebp + 8]
push ecx
call fcn.100588f0
add esp, 8
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 8]
movzx ecx, byte [eax + 0x46]
test ecx, ecx
je 0x100958aa
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x304], 0
mov dword [ebp - 0x2ec], 0
mov edx, dword [ebp - 0x2a4]
lea eax, [ebp + edx - 0x98]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x2a4]
add ecx, 4
mov dword [ebp - 0x2a4], ecx
mov edx, dword [ebp - 0x2a4]
mov dword [ebp + edx - 0x98], 2
mov eax, dword [ebp - 0x2a4]
add eax, 4
mov dword [ebp - 0x2a4], eax
mov ecx, dword [ebp - 0x2a4]
lea edx, [ebp + ecx - 0x98]
mov dword [ebp - 0x2ec], edx
mov eax, dword [ebp - 0x2a4]
add eax, 2
mov dword [ebp - 0x2a4], eax
mov ecx, dword [ebp - 0x2a4]
mov dword [ebp - 0x2fc], ecx
mov edx, dword [ebp - 0x2a4]
mov byte [ebp + edx - 0x98], 8
mov eax, dword [ebp - 0x2a4]
add eax, 1
mov dword [ebp - 0x2a4], eax
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [0x100d8fa0]
mov dword [ebp + ecx - 0x98], edx
mov eax, dword [0x100d8fa4]
mov dword [ebp + ecx - 0x94], eax
mov ecx, dword [ebp - 0x2a4]
add ecx, 8
mov dword [ebp - 0x2a4], ecx
push 0x100d8fac
push str.schannel:_ALPN__offering__s_n
mov edx, dword [ebp + 8]
push edx
call fcn.100588f0
add esp, 0xc
mov eax, dword [ebp - 0x2a4]
sub eax, dword [ebp - 0x2fc]
push eax
call fcn.100496f0
add esp, 4
mov ecx, dword [ebp - 0x2ec]
mov word [ecx], ax
mov edx, dword [ebp - 0x2ec]
movzx eax, word [edx]
add eax, 6
mov ecx, dword [ebp - 0x304]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2a4]
push edx
lea eax, [ebp - 0x98]
push eax
push 0x12
lea ecx, [ebp - 0x3d4]
push ecx
call fcn.10097c20
add esp, 0x10
push 1
lea edx, [ebp - 0x3d4]
push edx
lea eax, [ebp - 0x3e4]
push eax
call fcn.10097c00
add esp, 0xc
jmp 0x100958d7
push 0
push 0
push 0
lea ecx, [ebp - 0x3d4]
push ecx
call fcn.10097c20
add esp, 0x10
push 1
lea edx, [ebp - 0x3d4]
push edx
lea eax, [ebp - 0x3e4]
push eax
call fcn.10097c00
add esp, 0xc
push 0
push 0
push 0
lea ecx, [ebp - 0x374]
push ecx
call fcn.10097c20
add esp, 0x10
push 1
lea edx, [ebp - 0x374]
push edx
lea eax, [ebp - 0x3f0]
push eax
call fcn.10097c00
add esp, 0xc
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
mov dword [edx + 0x38], 0x811c
push 0x10
push 1
call dword [0x100d0664]
add esp, 8
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + 8]
cmp dword [ecx + 4], 0
jne 0x10095957
push 0x100d8fd8
mov edx, dword [ebp + 8]
push edx
call fcn.10058cd0
add esp, 8
mov eax, 0x1b
jmp 0x10095bf5
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x2e0], eax
cmp dword [ebp - 0x2e0], 0
jne 0x10095976
mov eax, 0x1b
jmp 0x10095bf5
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
movzx eax, byte [edx + 0x46]
test eax, eax
je 0x10095995
lea ecx, [ebp - 0x3e4]
mov dword [ebp - 0x314], ecx
jmp 0x1009599f
mov dword [ebp - 0x314], 0
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 4]
add ecx, 8
push ecx
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 8]
add eax, 0x3c
push eax
lea ecx, [ebp - 0x3f0]
push ecx
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 4]
push ecx
push 0
mov edx, dword [ebp - 0x314]
push edx
push 0
push 0
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x38]
push edx
mov eax, dword [ebp - 0x2e0]
push eax
push 0
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
mov eax, dword [edx]
push eax
mov ecx, dword [0x100de770]
mov edx, dword [ecx + 0x18]
call edx
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2e0], 0
xor eax, eax
jne 0x10095a10
cmp dword [ebp - 0x2b8], 0x90312
je 0x10095b23
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 4]
push eax
call dword [0x100d05f8]
add esp, 4
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
mov dword [edx + 4], 0
xor eax, eax
jne 0x10095a2e
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x31c], ecx
cmp dword [ebp - 0x31c], 0x80090300
je 0x10095a7e
cmp dword [ebp - 0x31c], 0x80090322
je 0x10095ab5
jmp 0x10095aec
push 0x100
lea edx, [ebp - 0x198]
push edx
mov eax, dword [ebp - 0x2b8]
push eax
call fcn.10089b90
add esp, 0xc
push eax
push 0x100d8ffc
mov ecx, dword [ebp + 8]
push ecx
call fcn.10058cd0
add esp, 0xc
mov eax, 0x1b
jmp 0x10095bf5
push 0x100
lea edx, [ebp - 0x198]
push edx
mov eax, dword [ebp - 0x2b8]
push eax
call fcn.10089b90
add esp, 0xc
push eax
push 0x100d9034
mov ecx, dword [ebp + 8]
push ecx
call fcn.10058cd0
add esp, 0xc
mov eax, 0x3c
jmp 0x10095bf5
push 0x100
lea edx, [ebp - 0x198]
push edx
mov eax, dword [ebp - 0x2b8]
push eax
call fcn.10089b90
add esp, 0xc
push eax
push str.schannel:_initial_InitializeSecurityContext_failed:__s
mov ecx, dword [ebp + 8]
push ecx
call fcn.10058cd0
add esp, 0xc
mov eax, 0x23
jmp 0x10095bf5
xor edx, edx
jne 0x10095b23
lea eax, [ebp - 0x2e8]
push eax
mov ecx, dword [ebp - 0x374]
push ecx
mov edx, dword [ebp - 0x36c]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 + 0x158]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10057fb0
add esp, 0x14
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x36c]
push ecx
mov edx, dword [0x100de770]
mov eax, dword [edx + 0x40]
call eax
cmp dword [ebp - 0x2a8], 0
jne 0x10095b85
mov ecx, dword [ebp - 0x374]
cmp ecx, dword [ebp - 0x2e8]
je 0x10095bab
mov edx, dword [ebp - 0x374]
push edx
mov eax, dword [ebp - 0x2e8]
push eax
push str.schannel:_failed_to_send_initial_handshake_data:_sent__zd_of__lu_bytes
mov ecx, dword [ebp + 8]
push ecx
call fcn.10058cd0
add esp, 0x10
mov eax, 0x23
jmp 0x10095bf5
xor edx, edx
jne 0x10095bab
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + 8]
mov dword [ecx + 0x40], 0
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 8]
mov byte [eax + 0x44], 0
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 8]
mov byte [edx + 0x45], 0
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + 8]
mov byte [ecx + 0x34], 0
mov edx, dword [ebp - 0x29c]
mov dword [edx + 4], 1
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10019cf8
mov esp, ebp
pop ebp
ret