Function at 0x443d21
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x250
mov eax, dword [0x46f008]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
and dword [ebp - 0x1e4], 0
add eax, 0x1a
push ebx
push esi
add eax, eax
mov esi, edx
push edi
push 0x38
push 0
mov eax, dword [esi + eax*8]
mov edi, ecx
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x250]
push eax
call fcn.004520c0
add esp, 0xc
mov dword [ebp - 0x250], 4
cmp byte [esi + 0x21d], 0
mov ebx, 0x1b8
mov dword [ebp - 0x1ec], 0x1c8
push 8
pop edx
je 0x443e15
mov eax, dword [ebp - 0x208]
push 0x20
pop ecx
cmp byte [eax + 0x47], 0
cmovne ecx, edx
mov edx, dword [esi + 0xb8]
cmp edx, 2
jne 0x443dc7
cmp dword [esi + 0x154], 0xffffffff
mov eax, ebx
cmovne eax, dword [ebp - 0x1ec]
cmp dword [eax + esi], edx
je 0x443dc7
mov al, byte [edi + 0x4db]
jmp 0x443dcd
mov al, byte [edi + 0x46b]
test al, al
je 0x443dd9
or ecx, 0x1800
jmp 0x443e20
cmp edx, 2
jne 0x443dfb
cmp dword [esi + 0x154], 0xffffffff
mov eax, ebx
cmovne eax, dword [ebp - 0x1ec]
cmp dword [eax + esi], edx
je 0x443dfb
mov al, byte [edi + 0x4dd]
jmp 0x443e01
mov al, byte [edi + 0x46d]
test al, al
je 0x443e0d
or ecx, 0x1a00
jmp 0x443e20
or ecx, 0x200
jmp 0x443e20
mov edx, dword [esi + 0xb8]
mov ecx, 0x1808
cmp byte [esi + 0x21e], 0
mov dword [ebp - 0x220], ecx
jne 0x443e38
or ecx, 4
mov dword [ebp - 0x220], ecx
cmp edx, 2
jne 0x443e5c
cmp dword [esi + 0x154], 0xffffffff
mov eax, ebx
mov edx, 0x1c8
cmovne eax, edx
cmp dword [eax + esi], 2
je 0x443e5c
mov al, byte [edi + 0x4df]
jmp 0x443e62
mov al, byte [edi + 0x46f]
test al, al
jne 0x443e79
and ecx, 0xffffffbf
mov eax, str.schannel:_disabled_automatic_use_of_client_certificate
or ecx, 0x10
mov dword [ebp - 0x220], ecx
jmp 0x443e7e
mov eax, str.schannel:_enabled_automatic_use_of_client_certificate
push eax
push edi
call fcn.0041d632
mov eax, dword [esi + 0x1dc]
pop ecx
pop ecx
cmp eax, 7
ja case.default.0x443e9d
movzx eax, byte [eax + 0x44457d]
jmp dword [eax*4 + 0x444575]
push esi
mov edx, edi
lea ecx, [ebp - 0x250]
call fcn.0044336c
pop ecx
test eax, eax
jne 0x444563
mov ecx, dword [esi + 0xb8]
mov edx, 0x1c8
cmp ecx, 2
jne 0x443ee4
cmp dword [esi + 0x154], 0xffffffff
mov eax, ebx
cmovne eax, edx
cmp dword [eax + esi], ecx
je 0x443ee4
mov eax, dword [esi + 0x244]
jmp 0x443eea
mov eax, dword [esi + 0x1fc]
test eax, eax
je 0x443f3d
cmp ecx, 2
jne 0x443f0a
cmp dword [esi + 0x154], 0xffffffff
cmovne ebx, edx
cmp dword [ebx + esi], ecx
je 0x443f0a
mov edx, dword [esi + 0x244]
jmp 0x443f10
mov edx, dword [esi + 0x1fc]
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x250]
call fcn.00443b1a
mov esi, eax
pop ecx
test esi, esi
je 0x443f3d
push str.Unable_to_set_ciphers_to_passed_via_SSL_CONN_CONFIG
push edi
call fcn.0041d6ad
pop ecx
pop ecx
mov eax, esi
jmp 0x444563
mov eax, dword [edi + 0x414]
xor ebx, ebx
test eax, eax
jne 0x443f55
cmp dword [edi + 0x430], ebx
je 0x44445e
mov ecx, dword [edi + 0x430]
mov esi, ebx
mov dword [ebp - 0x1ec], ebx
mov dword [ebp - 0x1e8], esi
mov dword [ebp - 0x200], ebx
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x204], ebx
mov dword [ebp - 0x1f0], ebx
mov dword [ebp - 0x1f4], ebx
mov dword [ebp - 0x1fc], ecx
test ecx, ecx
je 0x443fa4
mov eax, dword [ecx]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x1f4], eax
jmp 0x44400d
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov ebx, eax
pop ecx
test ebx, ebx
je 0x4444a2
lea eax, [ebp - 0x200]
mov ecx, ebx
push eax
lea eax, [ebp - 0x1e8]
push eax
lea edx, [ebp - 0x1ec]
call fcn.00443bb5
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x44432c
mov eax, dword [edi + 0x414]
cmp byte [eax], 0
je 0x44430c
push 0x458dd4
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov dword [ebp - 0x204], eax
pop ecx
pop ecx
test eax, eax
je 0x44430c
mov esi, dword [ebp - 0x1e8]
mov ecx, dword [edi + 0x454]
test ecx, ecx
je 0x44404c
mov edx, 0x469fac
call fcn.0041251e
test eax, eax
jne 0x44404c
cmp dword [ebp - 0x1fc], eax
mov eax, str._memory_blob_
jne 0x444038
mov eax, dword [edi + 0x414]
push eax
push str.schannel:_certificate_format_compatibility_error__for__s
push edi
call fcn.0041d6ad
add esp, 0xc
jmp 0x444383
cmp dword [ebp - 0x204], 0
mov eax, dword [ebp - 0x1fc]
jne 0x444063
test eax, eax
je 0x444332
and dword [ebp - 0x200], 0
and dword [ebp - 0x1ec], 0
test eax, eax
je 0x444081
mov dword [ebp - 0x1e8], str._memory_blob_
jmp 0x44408d
mov eax, dword [edi + 0x414]
mov dword [ebp - 0x1e8], eax
test ebx, ebx
je 0x444099
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
mov ebx, dword [ebp - 0x204]
test ebx, ebx
je 0x4441a8
push 2
xor esi, esi
push esi
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
sete cl
mov byte [ebp - 0x1dd], cl
test eax, eax
jne 0x444150
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov esi, eax
pop ecx
test esi, esi
jns 0x44414a
mov byte [ebp - 0x1dd], 0
mov esi, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1f4]
test esi, esi
je 0x444101
push ebx
push 1
push eax
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
cmp eax, 1
je 0x444108
mov byte [ebp - 0x1dd], 0
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
cmp byte [ebp - 0x1dd], 0
pop ecx
jne 0x4441ae
push dword [edi + 0x414]
push str.schannel:_Failed_to_read_cert_file__s
push edi
call fcn.0041d6ad
add esp, 0xc
push esi
mov esi, dword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, esi
call dword [0x4553fc]
call esi
pop ecx
push 0x3a
jmp 0x444562
mov cl, byte [ebp - 0x1dd]
mov eax, esi
mov dword [ebp - 0x1f4], eax
test cl, cl
je 0x44419d
push 0
push 0
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
sete byte [ebp - 0x1dd]
test eax, eax
jne 0x4440de
lea eax, [esi + 1]
mov esi, dword [0x46f048]
push eax
mov ecx, esi
call dword [0x4553fc]
call esi
mov esi, eax
pop ecx
mov dword [ebp - 0x1f0], esi
jmp 0x4440e4
mov esi, dword [ebp - 0x1f0]
jmp 0x4440ea
mov esi, dword [ebp - 0x1f0]
mov ebx, dword [edi + 0x464]
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x214], esi
mov dword [ebp - 0x218], eax
test ebx, ebx
je 0x4441d8
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x4441cd
sub ebx, ecx
jmp 0x4441de
mov ebx, dword [ebp - 0x200]
mov esi, dword [0x46f048]
lea eax, [ebx*2 + 2]
push eax
mov ecx, esi
call dword [0x4553fc]
call esi
mov esi, eax
pop ecx
test esi, esi
je 0x44425b
test ebx, ebx
je 0x444249
lea eax, [ebx + 1]
push eax
push esi
push ebx
push dword [edi + 0x464]
push 8
push 0xfde9
call dword [sym.imp.api_ms_win_core_string_l1_1_0.dll_MultiByteToWideChar]
test eax, eax
jns 0x44424f
xor eax, eax
mov word [esi], ax
push 0
push esi
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.CRYPT32.dll_PFXImportCertStore]
push esi
mov esi, dword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ebx, eax
mov ecx, esi
call dword [0x4553fc]
call esi
pop ecx
jmp 0x444261
mov eax, dword [ebp - 0x1ec]
cmp eax, ebx
jg 0x44421e
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x444223
mov ebx, dword [ebp - 0x1f8]
cmp dword [ebp - 0x1fc], 0
jne 0x444281
push dword [ebp - 0x1f0]
mov esi, dword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, esi
call dword [0x4553fc]
call esi
pop ecx
test ebx, ebx
jne 0x4442c3
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 0x56
jne 0x4442a9
push dword [ebp - 0x1e8]
push str.schannel:_Failed_to_import_cert_file__s__password_is_bad
push edi
call fcn.0041d6ad
add esp, 0xc
jmp 0x444143
push eax
push dword [ebp - 0x1e8]
push str.schannel:_Failed_to_import_cert_file__s__last_error_is_0x_x
push edi
call fcn.0041d6ad
add esp, 0x10
jmp 0x444143
xor eax, eax
push eax
push eax
push eax
push eax
push 0x10001
push ebx
call dword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov dword [ebp - 0x1e4], eax
test eax, eax
jne 0x44443d
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
push dword [ebp - 0x1e8]
push str.schannel:_Failed_to_get_certificate_from_file__s__last_error_is_0x_x
push edi
call fcn.0041d6ad
add esp, 0x10
push 0
push ebx
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
jmp 0x444143
push dword [edi + 0x414]
push str.schannel:_Failed_to_get_certificate_location_or_file_for__s
push edi
call fcn.0041d6ad
add esp, 0xc
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x443f35
mov esi, dword [ebp - 0x1e8]
mov eax, dword [ebp - 0x1ec]
push esi
or eax, 0x4000
push eax
push 0
push 0
push 9
call dword [sym.imp.CRYPT32.dll_CertOpenStore]
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x444397
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
push esi
push dword [ebp - 0x1ec]
push str.schannel:_Failed_to_open_cert_store__x__s__last_error_is_0x_x
push edi
call fcn.0041d6ad
add esp, 0x14
push esi
mov esi, dword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, esi
call dword [0x4553fc]
call esi
pop ecx
test ebx, ebx
je 0x444143
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x444142
push esi
mov esi, dword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, esi
call dword [0x4553fc]
call esi
pop ecx
push 0
push 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x210], 0x14
mov dword [ebp - 0x20c], eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x1c]
push eax
push 4
push 0x28
push dword [ebp - 0x200]
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x4443f9
test ebx, ebx
je 0x4443eb
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
mov esi, dword [ebp - 0x1f8]
push 0
push esi
jmp 0x444301
mov esi, dword [ebp - 0x1f8]
lea eax, [ebp - 0x210]
push 0
push eax
push 0x10000
push 0
push 0x10001
push esi
call dword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov dword [ebp - 0x1e4], eax
test ebx, ebx
je 0x444433
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [ebp - 0x1e4]
pop ecx
test eax, eax
je 0x4443f1
mov ebx, dword [ebp - 0x1f8]
push 0
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x24c], 1
push ebx
mov dword [ebp - 0x248], eax
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
xor ebx, ebx
mov esi, dword [sub.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov ecx, esi
push 0x18
push 1
call dword [0x4553fc]
call esi
pop ecx
pop ecx
mov ecx, dword [ebp - 0x208]
mov dword [ecx], eax
test eax, eax
jne 0x4444a9
push str.schannel:_unable_to_allocate_memory
push edi
call fcn.0041d6ad
cmp dword [ebp - 0x1e4], 0
pop ecx
pop ecx
je 0x4444a2
push dword [ebp - 0x1e4]
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
push 0x1b
jmp 0x444562
mov dword [eax + 0x14], 1
mov ecx, dword [ecx]
lea eax, [ecx + 8]
push eax
push ecx
push ebx
push ebx
lea eax, [ebp - 0x250]
push eax
mov eax, dword [0x46f554]
push ebx
push 2
push str.Microsoft_Unified_Security_Protocol_Provider
mov esi, dword [eax + 0xc]
mov ecx, esi
push ebx
call dword [0x4553fc]
call esi
cmp dword [ebp - 0x1e4], 0
mov ebx, eax
je 0x4444f2
push dword [ebp - 0x1e4]
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
test ebx, ebx
je 0x44453e
push ecx
lea edx, [ebp - 0x11c]
mov ecx, ebx
call fcn.0041a216
pop ecx
push eax
push str.schannel:_AcquireCredentialsHandle_failed:__s
push edi
call fcn.0041d6ad
mov edi, dword [ebp - 0x208]
add esp, 0xc
mov esi, dword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, esi
push dword [edi]
call dword [0x4553fc]
call esi
and dword [edi], 0
pop ecx
cmp ebx, 0x80090300
je 0x4444a2
jmp 0x444560
xor eax, eax
jmp 0x444563
push str.SSL_versions_not_supported
push edi
call fcn.0041d6ad
pop ecx
pop ecx
push 4
jmp 0x444562
push str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
push edi
call fcn.0041d6ad
pop ecx
pop ecx
push 0x23
pop eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00450ca6
leave
ret