Function at 0x100d3e80
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
mov esi, dword [esp + 0x38]
xor ecx, ecx
push 0x101b945c
push esi
mov dword [esp + 0x2c], ecx
xor ebx, ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ecx
call fcn.10051cf8
mov ebp, eax
add esp, 8
mov dword [esp + 0x18], ebp
test ebp, ebp
jne 0x100d3ed3
push esi
push str.Couldnt_open_file__s
push str.stream_secure_channel
push eax
call fcn.1007f5d0
add esp, 0x10
xor eax, eax
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push edi
push 2
push 0
push ebp
call fcn.1004d7aa
push ebp
call fcn.10051528
push 0
push 0
push ebp
mov edi, eax
call fcn.1004d7aa
add esp, 0x1c
cmp edi, 1
jge 0x100d3f17
push esi
push str.Couldnt_determine_file_size_of__s
push str.stream_secure_channel
push 0
call fcn.1007f5d0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push edi
call fcn.100769e0
push dword [esp + 0x20]
mov ebp, eax
push edi
push 1
push ebp
call fcn.1004d34c
push dword [esp + 0x30]
call fcn.1004c747
push str._____BEGIN_CERTIFICATE_____
push ebp
call fcn.10048830
push str._____BEGIN_ENCRYPTED_PRIVATE_KEY_____
push ebp
mov dword [esp + 0x44], eax
call fcn.10048830
add esp, 0x28
test eax, eax
je 0x100d3f71
push str.Detected_unsupported_encrypted_private_key
push str.stream_secure_channel
push 0
call fcn.1007f5d0
add esp, 0xc
xor esi, esi
jmp 0x100d41cf
push str._____BEGIN_RSA_PRIVATE_KEY_____
push ebp
call fcn.10048830
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x100d3fb9
push str._____BEGIN_PRIVATE_KEY_____
push ebp
call fcn.10048830
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x100d3fb9
push esi
push str.Cant_find_private_key_in__s
push str.stream_secure_channel
push 0
call fcn.1007f5d0
add esp, 0x10
xor esi, esi
jmp 0x100d41cf
mov ecx, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d3fc0
mov eax, dword [esp + 0x1c]
sub ecx, edx
mov dword [esp + 0x34], eax
lea eax, [esp + 0x18]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0xe
push 0x3ffe
lea eax, [esp + 0x54]
mov dword [esp + 0x54], ecx
push eax
push 2
call dword [sym.imp.CRYPT32.dll_CryptQueryObject]
cmp dword [esp + 0x18], ebx
jne 0x100d4023
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push str.Failed_to_extract_public_key_from__s._Error_0x_.8X
push str.stream_secure_channel
push 0
call fcn.1007f5d0
add esp, 0x14
xor esi, esi
jmp 0x100d41cf
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x10]
push 0
push 0
push eax
push 0
push 0
push 0
push esi
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x100d4052
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_convert_base64_private_key._Error_0x_.8X
jmp 0x100d3fa3
push dword [esp + 0x10]
call fcn.100769e0
add esp, 4
mov ebx, eax
lea eax, [esp + 0x10]
push 0
push 0
push eax
push ebx
push 0
push 0
push esi
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x100d408a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_convert_base64_private_key._Error_0x_.8X
jmp 0x100d3fa3
lea eax, [esp + 0x14]
push eax
push 0
push 0
push 0
push dword [esp + 0x20]
push ebx
push 0x2b
push 0x10001
call dword [sym.imp.CRYPT32.dll_CryptDecodeObjectEx]
test eax, eax
jne 0x100d40fa
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
push 0
call esi
push eax
push 0
push 0x3100
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
call esi
push eax
push dword [esp + 0x20]
push str.Failed_to_parse_private_key.__s__0x_.8X_
push str.stream_secure_channel
push 0
call fcn.1007f5d0
add esp, 0x14
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor esi, esi
jmp 0x100d41cf
push dword [esp + 0x14]
call fcn.100769e0
add esp, 4
mov esi, eax
lea eax, [esp + 0x14]
mov dword [esp + 0x28], esi
push eax
push esi
push 0
push 0
push dword [esp + 0x20]
push ebx
push 0x2b
push 0x10001
call dword [sym.imp.CRYPT32.dll_CryptDecodeObjectEx]
test eax, eax
jne 0x100d413d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_parse_private_key._Error_0x_.8X
jmp 0x100d41c0
push 0xf0000000
push 1
push str.Microsoft_Enhanced_Cryptographic_Provider_v1.0
push 0
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x100d4168
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CryptAcquireContext_failed_with_error_0x_.8X
jmp 0x100d41c0
lea eax, [esp + 0x2c]
push eax
push 0
push 0
push dword [esp + 0x20]
push esi
push dword [esp + 0x38]
call dword [sym.imp.ADVAPI32.dll_CryptImportKey]
test eax, eax
jne 0x100d4192
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CryptImportKey_for_private_key_failed_with_error_0x_.8X
jmp 0x100d41c0
push dword [esp + 0x24]
push 0
push 1
push dword [esp + 0x24]
call dword [sym.imp.CRYPT32.dll_CertSetCertificateContextProperty]
test eax, eax
je 0x100d41b4
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cant_associate_private_key_with_public_key:_0x_.8X
push str.stream_secure_channel
push 0
call fcn.1007f5d0
add esp, 0x10
mov eax, ebp
mov byte [eax], 0
lea eax, [eax + 1]
sub edi, 1
jne 0x100d41d1
push ebp
call fcn.10076990
add esp, 4
test ebx, ebx
je 0x100d4214
mov eax, dword [esp + 0x10]
mov edx, ebx
mov ecx, dword [esp + 0x28]
mov esi, ecx
test eax, eax
je 0x100d420b
nop dword [eax]
mov byte [ebx], 0
lea ebx, [ebx + 1]
sub eax, 1
jne 0x100d4200
push edx
call fcn.10076990
add esp, 4
test esi, esi
je 0x100d4236
mov ecx, dword [esp + 0x14]
mov eax, esi
test ecx, ecx
je 0x100d422d
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x100d4222
push esi
call fcn.10076990
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret