Function at 0xf6c3ce
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1cc
mov eax, dword [0x100c068]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
push edi
mov dword [ebp - 0x184], ebx
mov dword [ebp - 0x14c], edi
mov esi, dword [edi + 8]
call fcn.00f56912
push ebx
push edi
mov dword [ebp - 0x170], eax
call fcn.00f568f6
and dword [ebp - 0x150], 0
xor edi, edi
mov ecx, dword [esi + 0x14]
add esp, 0xc
mov esi, dword [ebp - 0x170]
and dword [ebp - 0x178], edi
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x17c], ecx
cmp byte [esi + 0x39], 0
je 0xf6c46b
cmp byte [eax + 0x63], 0
mov dl, byte [ecx + 0x48]
je 0xf6c44c
mov ecx, 0x1808
lea eax, [ecx + 0x18]
jmp 0xf6c464
cmp byte [eax + 0x65], 0
je 0xf6c45c
mov ecx, 0x1a08
lea eax, [ecx + 0x18]
jmp 0xf6c464
mov ecx, 0x208
lea eax, [ecx + 0x18]
test dl, dl
cmove ecx, eax
jmp 0xf6c470
mov ecx, 0x1808
mov eax, ecx
mov edx, str.schannel:_disabled_automatic_use_of_client_certificate
or eax, 4
cmp byte [esi + 0x3a], 0
cmovne eax, ecx
mov ecx, dword [ebp - 0x174]
mov esi, eax
or esi, 0x10
mov cl, byte [ecx + 0x67]
test cl, cl
cmovne esi, eax
mov eax, str.schannel:_enabled_automatic_use_of_client_certificate
cmove eax, edx
mov dword [ebp - 0x174], esi
push eax
push ebx
call fcn.00f5bbc5
mov eax, dword [ebp - 0x170]
pop ecx
pop ecx
mov al, byte [eax + 0x38]
cmp al, 1
jbe 0xf6c4e8
cmp al, 3
jbe 0xf6c4d4
cmp al, 7
jbe 0xf6c4e8
push str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
push ebx
call fcn.00f5bb15
pop ecx
pop ecx
push 0x23
jmp 0xf6ca30
push str.SSL_versions_not_supported
push ebx
call fcn.00f5bb15
pop ecx
pop ecx
push 4
jmp 0xf6ca30
push ebx
push dword [ebp - 0x14c]
lea eax, [ebp - 0x178]
push eax
call fcn.00f6df78
add esp, 0xc
test eax, eax
jne 0xf6ca31
mov eax, dword [ebx + 0x3d8]
xor edx, edx
test eax, eax
jne 0xf6c51e
cmp dword [ebx + 0x3ec], edx
je 0xf6c9e5
mov ecx, dword [ebx + 0x3ec]
mov edi, edx
mov dword [ebp - 0x15c], edx
mov esi, edx
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x164], ecx
test ecx, ecx
je 0xf6c566
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x158], edx
jmp 0xf6c5fd
push eax
call fcn.00f6a1ad
mov esi, eax
pop ecx
test esi, esi
je 0xf6ca2e
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x15c]
push eax
push esi
call fcn.00f6c121
add esp, 0x10
mov dword [ebp - 0x158], eax
test eax, eax
je 0xf6c5e6
mov eax, dword [ebx + 0x3d8]
cmp byte [eax], 0
je 0xf6c5c1
push 0xfbe8ec
push eax
call fcn.00f6a2ac
mov dword [ebp - 0x168], eax
pop ecx
pop ecx
test eax, eax
jne 0xf6c5ec
push dword [ebx + 0x3d8]
push str.schannel:_Failed_to_get_certificate_location_or_file_for__s
push ebx
call fcn.00f5bb15
push esi
call fcn.00f9304c
mov eax, dword [ebp - 0x158]
add esp, 0x10
jmp 0xf6ca31
mov eax, dword [ebp - 0x168]
and dword [ebp - 0x158], 0
test eax, eax
jne 0xf6c601
mov ecx, dword [ebp - 0x164]
test ecx, ecx
je 0xf6c65b
mov eax, dword [ebx + 0x418]
test eax, eax
je 0xf6c640
push 0xfc261c
push eax
call fcn.00f60126
pop ecx
pop ecx
test eax, eax
jne 0xf6c640
cmp dword [ebp - 0x164], eax
mov eax, str._memory_blob_
jne 0xf6c62f
mov eax, dword [ebx + 0x3d8]
push eax
push str.schannel:_certificate_format_compatibility_error__for__s
push ebx
call fcn.00f5bb15
add esp, 0xc
jmp 0xf6c6a8
cmp dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x164]
jne 0xf6c757
test eax, eax
jne 0xf6c757
push dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
or eax, 0x4000
push eax
push 0
push 0
push 0xa
call dword [0x10063e0]
mov edi, eax
test edi, edi
jne 0xf6c6bc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [ebp - 0x154]
push eax
push edi
push dword [ebp - 0x15c]
push str.schannel:_Failed_to_open_cert_store__x__s__last_error_is_0x_x
push ebx
call fcn.00f5bb15
push edi
call dword [0x100c094]
add esp, 0x18
test esi, esi
je 0xf6c750
push esi
call fcn.00f9304c
pop ecx
jmp 0xf6c750
push dword [ebp - 0x154]
call dword [0x100c094]
pop ecx
push 0
push 0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18c], 0x14
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x18]
push eax
push 4
push 0x28
push dword [ebp - 0x14c]
call dword [0x10063f4]
test eax, eax
jne 0xf6c70c
test esi, esi
je 0xf6c747
push esi
call fcn.00f9304c
pop ecx
jmp 0xf6c747
push 0
lea eax, [ebp - 0x18c]
push eax
push 0x10000
push 0
push 0x10001
push edi
call dword [0x10063ec]
mov dword [ebp - 0x150], eax
test esi, esi
je 0xf6c73f
push esi
call fcn.00f9304c
mov eax, dword [ebp - 0x150]
pop ecx
test eax, eax
jne 0xf6c9df
push 0
push edi
call dword [0x10063e4]
push 0x3a
jmp 0xf6ca30
and dword [ebp - 0x14c], 0
and dword [ebp - 0x180], 0
test eax, eax
je 0xf6c775
mov dword [ebp - 0x154], str._memory_blob_
jmp 0xf6c781
mov eax, dword [ebx + 0x3d8]
mov dword [ebp - 0x154], eax
test esi, esi
je 0xf6c78c
push esi
call fcn.00f9304c
pop ecx
mov esi, dword [ebp - 0x168]
test esi, esi
je 0xf6c88b
and dword [ebp - 0x15c], 0
push 2
push 0
push esi
call fcn.00fa073c
add esp, 0xc
test eax, eax
sete cl
mov byte [ebp - 0x141], cl
test eax, eax
jne 0xf6c7ce
push esi
call fcn.00fa15fa
pop ecx
mov cl, byte [ebp - 0x141]
mov edx, eax
jmp 0xf6c7d4
mov edx, dword [ebp - 0x15c]
xor eax, eax
movzx ecx, cl
test edx, edx
cmovns eax, ecx
mov ecx, dword [ebp - 0x158]
cmovns ecx, edx
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], ecx
test al, al
je 0xf6c82d
push 0
push 0
push esi
call fcn.00fa073c
mov ecx, dword [ebp - 0x158]
add esp, 0xc
neg eax
sbb al, al
inc al
mov dword [ebp - 0x15c], eax
test al, al
je 0xf6c82d
lea eax, [ecx + 1]
push eax
call dword [0x100c090]
pop ecx
mov dword [ebp - 0x148], eax
jmp 0xf6c833
mov eax, dword [ebp - 0x148]
test eax, eax
je 0xf6c84e
push esi
push 1
push dword [ebp - 0x158]
push eax
call fcn.00fa0127
add esp, 0x10
cmp eax, 1
je 0xf6c855
mov byte [ebp - 0x15c], 0
push esi
call fcn.00fa08de
cmp byte [ebp - 0x15c], 0
pop ecx
jne 0xf6c88b
push dword [ebx + 0x3d8]
push str.schannel:_Failed_to_read_cert_file__s
push ebx
call fcn.00f5bb15
mov eax, dword [ebp - 0x148]
push eax
call dword [0x100c094]
add esp, 0x10
jmp 0xf6c750
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x194], eax
mov eax, dword [ebx + 0x428]
test eax, eax
je 0xf6c8bc
push eax
call fcn.00f9fed0
pop ecx
mov dword [ebp - 0x14c], eax
jmp 0xf6c8c2
mov eax, dword [ebp - 0x14c]
lea ecx, [eax*2 + 2]
push ecx
call dword [0x100c090]
mov esi, eax
pop ecx
test esi, esi
je 0xf6c94e
mov edi, dword [ebp - 0x14c]
test edi, edi
je 0xf6c928
lea ecx, [edi + 1]
push ecx
push esi
push edi
push dword [ebx + 0x428]
push 8
pop ecx
push ecx
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jns 0xf6c92e
xor eax, eax
mov word [esi], ax
push 3
push 2
push 0
push 0
push 6
call fcn.00f843df
add esp, 0x14
test al, al
lea eax, [ebp - 0x194]
je 0xf6c93a
push 0x8000
jmp 0xf6c93c
mov eax, dword [ebp - 0x180]
cmp eax, edi
jg 0xf6c900
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0xf6c905
push 0
push esi
push eax
call dword [0x10063f8]
push esi
mov edi, eax
call dword [0x100c094]
pop ecx
cmp dword [ebp - 0x164], 0
jne 0xf6c964
push dword [ebp - 0x148]
call dword [0x100c094]
pop ecx
test edi, edi
jne 0xf6c9a3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x56
jne 0xf6c98c
push dword [ebp - 0x154]
push str.schannel:_Failed_to_import_cert_file__s__password_is_bad
push ebx
call fcn.00f5bb15
add esp, 0xc
jmp 0xf6c750
push eax
push dword [ebp - 0x154]
push str.schannel:_Failed_to_import_cert_file__s__last_error_is_0x_x
push ebx
call fcn.00f5bb15
jmp 0xf6c883
xor eax, eax
push eax
push eax
push eax
push eax
push 0x10001
push edi
call dword [0x10063ec]
mov dword [ebp - 0x150], eax
test eax, eax
jne 0xf6c9df
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x154]
push str.schannel:_Failed_to_get_certificate_from_file__s__last_error_is_0x_x
push ebx
call fcn.00f5bb15
add esp, 0x10
jmp 0xf6c747
mov esi, dword [ebp - 0x174]
push 0x20
pop eax
push eax
push 1
call dword [0x100c0a0]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x17c]
mov dword [ecx], eax
test eax, eax
jne 0xf6ca40
push str.schannel:_unable_to_allocate_memory
push ebx
call fcn.00f5bb15
cmp dword [ebp - 0x150], 0
pop ecx
pop ecx
je 0xf6ca21
push dword [ebp - 0x150]
call dword [0x10063f0]
test edi, edi
je 0xf6ca2e
push 0
push edi
call dword [0x10063e4]
push 0x1b
pop eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00f49793
leave
ret
push 3
push 2
mov dword [eax + 0x18], 1
mov eax, dword [ecx]
push 0x4563
push 0
push 0xa
mov dword [eax + 0x14], edi
call fcn.00f843df
add esp, 0x14
test al, al
je 0xf6ceca
push 0x2c
lea eax, [ebp - 0x1c0]
push 0
push eax
call fcn.00f8fdb0
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x1c]
push 0x70
push eax
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xac]
push eax
call fcn.00f8fdb0
mov esi, dword [ebp - 0x170]
xorps xmm0, xmm0
xor eax, eax
movlpd qword [ebp - 0x160], xmm0
add esp, 0x18
movlpd qword [ebp - 0x16c], xmm0
mov dword [ebp - 0x148], eax
mov esi, dword [esi + 0x14]
test esi, esi
je 0xf6ce43
and dword [ebp - 0x14c], eax
lea edi, [ebp - 0x3c]
push 8
pop eax
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x14c]
mov ch, 1
mov cl, ch
mov byte [ebp - 0x13e], ch
mov dh, ch
mov byte [ebp - 0x141], ch
mov dl, cl
mov byte [ebp - 0x13d], dh
mov byte [ebp - 0x13f], cl
mov byte [ebp - 0x140], dl
cmp byte [esi], 0
je 0xf6cc9b
cmp eax, 5
jge 0xf6cc9b
push 0x3a
push esi
call fcn.00f91000
mov dword [ebp - 0x180], eax
pop ecx
pop ecx
test eax, eax
je 0xf6cb2b
mov edi, eax
sub edi, esi
jmp 0xf6cb34
push esi
call fcn.00f9fed0
pop ecx
mov edi, eax
cmp edi, 0x1f
ja 0xf6cc94
push edi
lea eax, [ebp - 0x3c]
push esi
push eax
call fcn.00f9b1b0
add esp, 0xc
cmp edi, 0x20
jae 0xf6cfeb
cmp byte [ebp - 0x13e], 0
mov byte [ebp + edi - 0x3c], 0
je 0xf6cb89
lea eax, [ebp - 0x3c]
push eax
push str.TLS_AES_256_GCM_SHA384
call fcn.00fa0760
pop ecx
pop ecx
test eax, eax
jne 0xf6cb89
mov dl, byte [ebp - 0x140]
xor ch, ch
mov byte [ebp - 0x13e], ch
jmp 0xf6cc4e
cmp byte [ebp - 0x13d], 0
je 0xf6cbbf
lea eax, [ebp - 0x3c]
push eax
push str.TLS_AES_128_GCM_SHA256
call fcn.00fa0760
pop ecx
pop ecx
test eax, eax
jne 0xf6cbbf
mov ch, byte [ebp - 0x13e]
xor dh, dh
mov dl, byte [ebp - 0x140]
mov byte [ebp - 0x13d], dh
jmp 0xf6cc54
cmp byte [ebp - 0x141], 0
je 0xf6cbea
lea eax, [ebp - 0x3c]
push eax
push str.TLS_CHACHA20_POLY1305_SHA256
call fcn.00fa0760
pop ecx
pop ecx
test eax, eax
jne 0xf6cbea
mov dl, byte [ebp - 0x140]
mov byte [ebp - 0x141], al
jmp 0xf6cc48
cmp byte [ebp - 0x13f], 0
je 0xf6cc23
lea eax, [ebp - 0x3c]
push eax
push str.TLS_AES_128_CCM_8_SHA256
call fcn.00fa0760
pop ecx
pop ecx
test eax, eax
jne 0xf6cc23
mov ch, byte [ebp - 0x13e]
xor cl, cl
mov dl, byte [ebp - 0x140]
mov dh, byte [ebp - 0x13d]
mov byte [ebp - 0x13f], cl
jmp 0xf6cc5a
cmp byte [ebp - 0x140], 0
je 0xf6cc80
lea eax, [ebp - 0x3c]
push eax
push str.TLS_AES_128_CCM_SHA256
call fcn.00fa0760
pop ecx
pop ecx
test eax, eax
jne 0xf6cc80
xor dl, dl
mov byte [ebp - 0x140], dl
mov ch, byte [ebp - 0x13e]
mov dh, byte [ebp - 0x13d]
mov cl, byte [ebp - 0x13f]
mov eax, dword [ebp - 0x180]
mov esi, eax
test eax, eax
je 0xf6cc69
lea esi, [eax + 1]
mov eax, dword [ebp - 0x14c]
inc eax
mov dword [ebp - 0x14c], eax
test esi, esi
jne 0xf6caff
jmp 0xf6ccad
push str.Passed_in_an_unknown_TLS_1.3_cipher.
push ebx
call fcn.00f5bb15
pop ecx
pop ecx
push 0x3b
jmp 0xf6ca30
push str.Cipher_name_too_long__not_checked.
jmp 0xf6cc85
mov dh, byte [ebp - 0x13d]
mov ch, byte [ebp - 0x13e]
mov cl, byte [ebp - 0x13f]
mov edi, 0xfc28dc
test ch, ch
je 0xf6ccd2
test dh, dh
je 0xf6ccd2
cmp byte [ebp - 0x141], 0
je 0xf6ccd2
test cl, cl
je 0xf6ccd6
test dl, dl
je 0xf6ccd2
push str.All_available_TLS_1.3_ciphers_were_disabled.
jmp 0xf6cc85
test cl, cl
jne 0xf6ccda
test dl, dl
je 0xf6cd53
push 0x20
pop eax
mov word [ebp - 0x160], ax
mov word [ebp - 0x15e], ax
lea eax, [ebp - 0x160]
mov dword [ebp - 0x9c], eax
xor eax, eax
push 8
inc eax
mov dword [ebp - 0x15c], str.ChainingModeCCM
mov dword [ebp - 0xac], 2
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa4], edi
pop esi
mov word [ebp - 0xa8], si
mov word [ebp - 0xa6], si
cmp cl, dl
je 0xf6cd49
test cl, cl
je 0xf6cd3f
mov dword [ebp - 0x98], 0x80
jmp 0xf6cd49
mov dword [ebp - 0x94], 0x40
mov esi, eax
mov dword [ebp - 0x148], esi
jmp 0xf6cd59
mov esi, dword [ebp - 0x148]
test ch, ch
jne 0xf6cd65
test dh, dh
je 0xf6ce01
push 0x20
pop eax
mov word [ebp - 0x16c], ax
mov word [ebp - 0x16a], ax
mov al, byte [ebp - 0x13d]
imul edx, esi, 0x1c
mov dword [ebp - 0x168], str.ChainingModeGCM
cmp ch, al
je 0xf6cd9e
test ch, ch
mov edi, str.SHA384
mov ebx, str.SHA256
cmove edi, ebx
cmp ch, al
mov bl, byte [ebp - 0x13d]
push 4
pop eax
push 8
pop ecx
cmove eax, ecx
movzx ecx, ax
xor eax, eax
cmp byte [ebp - 0x13e], bl
mov ebx, dword [ebp - 0x184]
setne al
add eax, 2
inc esi
mov dword [ebp + edx - 0xac], eax
lea eax, [ebp - 0x16c]
mov word [ebp + edx - 0xa8], cx
mov word [ebp + edx - 0xa6], cx
mov dword [ebp + edx - 0xa4], edi
mov dword [ebp + edx - 0x9c], eax
mov dword [ebp + edx - 0xa0], 1
mov dword [ebp - 0x148], esi
cmp byte [ebp - 0x141], 0
je 0xf6ce3d
imul eax, esi, 0x1c
inc esi
push 0x24
pop ecx
mov dword [ebp - 0x148], esi
mov dword [ebp + eax - 0xac], 2
mov word [ebp + eax - 0xa8], cx
mov word [ebp + eax - 0xa6], cx
mov dword [ebp + eax - 0xa4], str.CHACHA20_POLY1305
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0xac]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x198], eax
xor ecx, ecx
mov eax, dword [ebp - 0x174]
inc ecx
or eax, 0x400000
mov dword [ebp - 0x19c], ecx
cmp dword [ebp - 0x150], 0
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x178]
not eax
mov dword [ebp - 0x1c0], 5
mov dword [ebp - 0x14], eax
je 0xf6cea2
lea eax, [ebp - 0x150]
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], eax
mov edi, dword [ebp - 0x17c]
mov ecx, dword [edi]
lea eax, [ecx + 8]
push eax
push ecx
push 0
push 0
lea eax, [ebp - 0x1c0]
push eax
push 0
push 2
push str.Microsoft_Unified_Security_Protocol_Provider
push 0
jmp 0xf6cf84
push 0x38
lea eax, [ebp - 0x1cc]
push 0
push eax
call fcn.00f8fdb0
mov eax, dword [ebp - 0x178]
add esp, 0xc
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1cc], 4
mov dword [ebp - 0x19c], esi
cmp dword [eax + 0x10], 0
je 0xf6cf38
lea ecx, [ebp - 0xf8]
push ecx
push dword [eax + 0x10]
lea eax, [ebp - 0x1cc]
push eax
call fcn.00f6dede
mov esi, eax
add esp, 0xc
test esi, esi
je 0xf6cf44
push str.Unable_to_set_ciphers_to_from_connection_ssl_config
push ebx
call fcn.00f5bb15
pop ecx
pop ecx
mov eax, esi
jmp 0xf6ca31
or esi, 0x400000
mov dword [ebp - 0x19c], esi
cmp dword [ebp - 0x150], 0
je 0xf6cf63
lea eax, [ebp - 0x150]
mov dword [ebp - 0x1c8], 1
mov dword [ebp - 0x1c4], eax
mov edi, dword [ebp - 0x17c]
mov ecx, dword [edi]
lea eax, [ecx + 8]
push eax
push ecx
xor ecx, ecx
lea eax, [ebp - 0x1cc]
push ecx
push ecx
push eax
push ecx
push 2
push str.Microsoft_Unified_Security_Protocol_Provider
push ecx
mov eax, dword [0x100dbe0]
call dword [eax + 0xc]
cmp dword [ebp - 0x150], 0
mov esi, eax
je 0xf6cfa3
push dword [ebp - 0x150]
call dword [0x10063f0]
test esi, esi
je 0xf6cfe4
push 0x100
lea eax, [ebp - 0x13c]
push eax
push esi
call fcn.00f4a8f2
push eax
push str.schannel:_AcquireCredentialsHandle_failed:__s
push ebx
call fcn.00f5bb15
push dword [edi]
call dword [0x100c094]
and dword [edi], 0
add esp, 0x1c
cmp esi, 0x80090300
je 0xf6ca2e
jmp 0xf6c4cd
xor eax, eax
jmp 0xf6ca31
call fcn.00f498ca
int3