Function at 0x180017dac
Capabilities:
Decode data using base64 via winapi

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
mov qword [r11 + 0x20], r12
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
and dword [rbp - 0x20], 0
and dword [rbp - 0x14], 0
lea rax, [rbp - 0x18]
mov qword [r11 - 0x58], rax
mov r15, r9
mov r12, r8
mov ebx, edx
mov r14, rcx
call fcn.180017b5c
cmp dword [rbp - 0x18], 0
mov esi, eax
jne 0x180018068
lea rax, [rbp - 0x14]
xor r9d, r9d
mov edx, ebx
mov qword [rsp + 0x30], rax
and qword [rsp + 0x28], 0
lea rax, [rbp - 0x20]
lea r8d, [r9 + 7]
mov rcx, r14
mov qword [rsp + 0x20], rax
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0x180018054
mov edx, dword [rbp - 0x20]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
test rax, rax
je 0x180018068
and qword [rsp + 0x30], 0
and qword [rsp + 0x28], 0
lea rax, [rbp - 0x20]
mov r9, rdi
mov r8d, 7
mov edx, ebx
mov rcx, r14
mov qword [rsp + 0x20], rax
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0x180018035
mov r9d, dword [rbp - 0x20]
lea rax, [rbp - 0x1c]
mov r14d, 0x10001
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x10]
mov ebx, 0x8000
mov qword [rsp + 0x30], rax
and qword [rsp + 0x28], 0
mov r8, rdi
mov edx, reloc.ODBC32.dll_SQLGetData
mov ecx, r14d
mov dword [rsp + 0x20], ebx
call qword [sym.imp.CRYPT32.dll_CryptDecodeObjectEx]
test eax, eax
je 0x180017ec7
mov edx, dword [rbp - 0x1c]
mov rcx, qword [rbp - 0x10]
lea r8, str.CAPIPRIVATEBLOB
jmp 0x18001800c
mov r9d, dword [rbp - 0x20]
lea rax, [rbp - 0x1c]
mov r8, rdi
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x10]
mov edx, 0x52
mov qword [rsp + 0x30], rax
and qword [rsp + 0x28], 0
mov ecx, r14d
mov dword [rsp + 0x20], ebx
call qword [sym.imp.CRYPT32.dll_CryptDecodeObjectEx]
test eax, eax
je 0x180017fca
mov rax, qword [rbp - 0x10]
mov ecx, 0x40
mov edx, dword [rax + 0x20]
mov r14d, dword [rax + 8]
add edx, 7
add r14d, edx
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
test rax, rax
je 0x18001801b
mov rcx, qword [rbp - 0x10]
mov eax, dword [rcx + 8]
mov dword [rbx + 4], eax
cmp eax, 0x20
je 0x180017f54
cmp eax, 0x2a
je 0x180017f4c
cmp eax, 0x42
jne 0x180017f5a
mov dword [rbx], 0x36534345
jmp 0x180017f5f
mov dword [rbx], 0x34534345
jmp 0x180017f5f
mov dword [rbx], 0x32534345
cmp dword [rbx], 0
je 0x180017fb3
mov rdx, qword [rbp - 0x10]
lea rcx, [rbx + 8]
mov r8d, dword [rdx + 0x20]
mov rdx, qword [rdx + 0x28]
inc rdx
dec r8d
call fcn.1800ca790
mov rdx, qword [rbp - 0x10]
mov ecx, dword [rdx + 0x20]
mov r8d, dword [rdx + 8]
mov rdx, qword [rdx + 0x10]
add rcx, 7
add rcx, rbx
call fcn.1800ca790
lea r8, str.ECCPRIVATEBLOB
mov r9, r12
mov edx, r14d
mov rcx, rbx
mov qword [rsp + 0x20], r15
call fcn.18004563c
mov esi, eax
jmp 0x180017fbf
lea rcx, str.ERROR_kuhl_m_crypto_NCrypt_AutoKey___Not_a_PEM_with_256__384_or_521_bits_curve__try_generic_PRIVATE_KEY_or_PKCS8__n
call fcn.18004d68c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x18001801b
mov r9d, dword [rbp - 0x20]
lea rax, [rbp - 0x1c]
mov r8, rdi
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x10]
mov edx, 0x2c
mov qword [rsp + 0x30], rax
and qword [rsp + 0x28], 0
mov ecx, r14d
mov dword [rsp + 0x20], ebx
call qword [sym.imp.CRYPT32.dll_CryptDecodeObjectEx]
test eax, eax
je 0x180018027
mov edx, dword [rbp - 0x20]
lea r8, str.PKCS8_PRIVATEKEY
mov rcx, rdi
mov r9, r12
mov qword [rsp + 0x20], r15
call fcn.18004563c
mov esi, eax
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x180018049
lea rcx, str.ERROR_kuhl_m_crypto_NCrypt_AutoKey___Unable_to_decode_format_n
call fcn.18004d68c
jmp 0x180018049
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_crypto_NCrypt_AutoKey___CryptStringToBinaryA_data___0x_08x__n
mov edx, eax
call fcn.18004d68c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x180018068
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_crypto_NCrypt_AutoKey___CryptStringToBinaryA_init___0x_08x__n
mov edx, eax
call fcn.18004d68c
lea r11, [rsp + 0x60]
mov eax, esi
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret